Browse Source

Improving work percentage message

JoostSijm 5 years ago
parent
commit
4309e531ff
4 changed files with 13 additions and 9 deletions
  1. 3 1
      app/__main__.py
  2. 2 2
      app/app.py
  3. 7 5
      app/database.py
  4. 1 1
      app/models.py

+ 3 - 1
app/__main__.py

@@ -10,8 +10,10 @@ if __name__ == '__main__':
     # jobs.refill_resource(2788, 4002, 0)
     # jobs.check_resources(2788, 4002, 0, True) # VN
     # jobs.check_resources(2620, 4002, 0, False) # Zeelandiae
-    # graph()
+    # app.graph()
     # get_resources(4001, datetime.now(), 0)
+    # jobs.send_telegram_update(2788, '@vn_resources', 0)
+    # sys.exit()
 
     JOBS = job_storage.get_jobs()
     for job in JOBS:

+ 2 - 2
app/app.py

@@ -83,7 +83,7 @@ def max_refill_seconds(regions, limit, max_time):
 
 def send_telegram_update(state_id, group_id, resource_type):
     """Send mine update to telegram"""
-    message = database.get_work_percentage(state_id, resource_type, datetime.utcnow(), 1, 1)
+    message = database.get_work_percentage(state_id, resource_type, datetime.now(), 1, 1)
     if message:
         print(message)
         TELEGRAM_BOT.sendMessage(
@@ -96,7 +96,7 @@ def send_telegram_update(state_id, group_id, resource_type):
 
 def graph():
     """make graph"""
-    date = datetime.now() + timedelta(1)
+    date = datetime.now() # - timedelta(1)
     region_4001 = database.get_resources(4001, date, 0)
     region_4002 = database.get_resources(4002, date, 0)
     region_4003 = database.get_resources(4003, date, 0)

+ 7 - 5
app/database.py

@@ -44,7 +44,7 @@ def save_region(session, region_id, region_dict):
 
 def get_resources(region_id, date, resource_type):
     """Get resources on a date"""
-    end_date_time = date.replace(hour=18, minute=0, second=0, microsecond=0)
+    end_date_time = date.replace(hour=19, minute=0, second=0, microsecond=0)
     start_date_time = end_date_time - timedelta(1)
     session = SESSION()
     resource = {}
@@ -55,6 +55,7 @@ def get_resources(region_id, date, resource_type):
         .filter(ResourceTrack.resource_type == resource_type) \
         .filter(ResourceTrack.date_time >= start_date_time) \
         .filter(ResourceTrack.date_time <= end_date_time) \
+        .order_by(ResourceTrack.date_time.desc()) \
         .all()
     start_limit = resource_stats[0].explored
     for resource_stat in resource_stats:
@@ -110,10 +111,10 @@ def get_work_percentage(state_id, resource_type, end_date_time, hours, times):
     for i in range(0, times):
         data[i]['progress'] = {}
         reset_date_time = data[i+1]['date']
-        if reset_date_time.hour >= 18:
-            reset_date_time = reset_date_time.replace(hour=18) + timedelta(1)
+        if reset_date_time.hour >= 19:
+            reset_date_time = reset_date_time.replace(hour=19) + timedelta(1)
         else:
-            reset_date_time = reset_date_time.replace(hour=18)
+            reset_date_time = reset_date_time.replace(hour=19)
         time_left = reset_date_time - data[i]['date']
         if time_left.seconds != 0:
             seconds_left = time_left.seconds
@@ -138,10 +139,11 @@ def get_work_percentage(state_id, resource_type, end_date_time, hours, times):
             data[i]['progress'][stat.region_id] = percentage
 
     message_text = ''
+    message_text += '{:21}: {:9}\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 += '{:21}: {:6.2f}\n'.format(
+                message_text += '{:21}: {:7.2f}\n'.format(
                     regions[region_id],
                     progress
                 )

+ 1 - 1
app/models.py

@@ -40,7 +40,7 @@ class ResourceTrack(Base):
     __tablename__ = 'resource_track'
     id = Column(Integer, primary_key=True)
     resource_type = Column(SmallInteger)
-    date_time = Column(DateTime, default=datetime.datetime.utcnow)
+    date_time = Column(DateTime, default=datetime.datetime.now)
     state_id = Column(Integer, ForeignKey('state.id'))
     resource_track = relationship(
         "State",