Kaynağa Gözat

Improve logging

JoostSijm 4 yıl önce
ebeveyn
işleme
97db5784a6
3 değiştirilmiş dosya ile 13 ekleme ve 12 silme
  1. 3 2
      app/__main__.py
  2. 8 8
      app/app.py
  3. 2 2
      app/database.py

+ 3 - 2
app/__main__.py

@@ -20,8 +20,9 @@ def add_telegram_update_job(state_id, telegram_id, resource_type):
 if __name__ == '__main__':
     # jobs.refill_resource(3304, 4004, 0, True)
     # jobs.refill_resource(3261, 200062, 0, False)
-    # jobs.check_resources(2788, 4002, 0, True) # VN
-    # jobs.check_resources(2620, 4002, 0, False) # Zeelandiae
+    # jobs.check_resources(3304, 4004, 0, False, False) # VN
+    # jobs.check_resources(3304, 4004, 3, False, False) # VN
+    # jobs.check_resources(3304, 4004, 11, False, False) # VN
     # app.graph()
     # get_resources(4001, datetime.now(), 0)
     # jobs.send_telegram_update(2788, '@vn_resources', 'gold')

+ 8 - 8
app/app.py

@@ -11,7 +11,8 @@ from pandas.plotting import register_matplotlib_converters
 
 from telegram import ParseMode
 
-from app import LOGGER, SCHEDULER, TELEGRAM_BOT, RESOURCE_NAMES, jobs, api, database
+from app import LOGGER, SCHEDULER, TELEGRAM_BOT, RESOURCE_NAMES, RESOURCE_IDS, RESOURCE_MAX, \
+    jobs, api, database
 
 
 register_matplotlib_converters()
@@ -19,7 +20,8 @@ register_matplotlib_converters()
 def check_resources(state_id, capital_id, resource_id, do_refill, alt):
     """Check resources and refill if necessary"""
     regions = api.download_resources(state_id, resource_id)
-    print_resources(regions)
+    LOGGER.info('state %6s: check resource %s', state_id, RESOURCE_IDS[resource_id])
+    print_resources(regions, resource_id)
     refill_percentage = 25
     database.save_resources(state_id, regions, resource_id)
     if do_refill and need_refill(regions, refill_percentage):
@@ -29,10 +31,8 @@ def check_resources(state_id, capital_id, resource_id, do_refill, alt):
         scheduled_date = datetime.now() + random_time_delta
         job_id = 'refill_{}_{}'.format(capital_id, resource_id)
         LOGGER.info(
-            'Refil resource %s at %s (%s minutes)',
-            resource_id,
-            scheduled_date,
-            round(random_time_delta.seconds / 60)
+            'state %s: refil resource %s at %s (%s minutes)', state_id, RESOURCE_IDS[resource_id],
+            scheduled_date, round(random_time_delta.seconds / 60)
         )
         job = SCHEDULER.get_job(job_id)
         if not job:
@@ -44,14 +44,14 @@ def check_resources(state_id, capital_id, resource_id, do_refill, alt):
                 run_date=scheduled_date
             )
 
-def print_resources(regions):
+def print_resources(regions, resource_id):
     """print resources"""
     if regions:
         print('region                        expl max   D left    c %    t %')
         for region in regions.values():
             region['explored_percentage'] = 100 / region['maximum'] * region['explored']
             region['total_left'] = region['explored'] + region['limit_left']
-            region['total_percentage'] = 100 / 2500 * region['total_left']
+            region['total_percentage'] = 100 / RESOURCE_MAX[resource_id] * region['total_left']
             print('{:25}: {:7.2f}{:4}{:4}{:5}{:7.2f}{:7.2f}'.format(
                 region['region_name'],
                 region['explored'],

+ 2 - 2
app/database.py

@@ -145,11 +145,11 @@ def get_work_percentage(state_id, resource_type, end_date_time, hours, times):
             # ))
 
     message_text = ''
-    message_text += '{:15}: {:>8}\n'.format('region', 'workers')
+    message_text += '{:17}: {:>8}\n'.format('region', 'workers')
     for date in data.values():
         if 'progress' in date:
             for region_id, progress in sorted(date['progress'].items(), key=lambda x: x[1]):
-                message_text += '{:15}: {:6.2f} %\n'.format(
+                message_text += '{:17}: {:6.2f} %\n'.format(
                     regions[region_id].replace('Netherlands', 'NL'),
                     progress
                 )