Эх сурвалжийг харах

Change dates to UTC, fix issue with factory

JoostSijm 5 жил өмнө
parent
commit
68ad07e44b

+ 2 - 1
src/rival_regions_wrapper/api_wrapper/article.py

@@ -1,6 +1,6 @@
 """Articl class"""
 
-from datetime import timedelta
+from datetime import timedelta, timezone
 import unicodedata
 import re
 
@@ -67,4 +67,5 @@ class Article():
             article_info['post_date'] = parser.parse(time.group(0))
         else:
             article_info['post_date'] = parser.parse(date_string)
+        article_info['post_date'] = article_info['post_date'].replace(tzinfo=timezone.utc)
         return article_info

+ 3 - 1
src/rival_regions_wrapper/api_wrapper/overview.py

@@ -1,7 +1,7 @@
 """Profile class"""
 
 import re
-from datetime import timedelta
+from datetime import timedelta, timezone
 
 from bs4 import BeautifulSoup
 from dateutil import parser
@@ -30,6 +30,7 @@ class Overview():
                     upgrade_date = parser.parse(time.group(0)) + timedelta(days=1)
                 elif 'today' in date_string:
                     time = re.search(r'\d\d:\d\d', date_string)
+                    upgrade_date = parser.parse(time.group(0))
                 else:
                     upgrade_date = parser.parse(date_string)
                 break
@@ -38,6 +39,7 @@ class Overview():
             auto_war = auto_war['action'].replace('war/details/', '')
         else:
             auto_war = None
+        upgrade_date = upgrade_date.replace(tzinfo=timezone.utc) if upgrade_date else None
         overview = {
             'perks': {
                 'strenght': int(soup.find('div', {'perk': 1, 'class': 'perk_source_2'}).text),

+ 2 - 1
src/rival_regions_wrapper/api_wrapper/perks.py

@@ -1,7 +1,7 @@
 """Perks class"""
 
 import re
-from datetime import timedelta
+from datetime import timedelta, timezone
 
 from bs4 import BeautifulSoup
 from dateutil import parser
@@ -34,6 +34,7 @@ class Perks():
                 else:
                     upgrade_date = parser.parse(date_string)
                 break
+        upgrade_date = upgrade_date.replace(tzinfo=timezone.utc) if upgrade_date else None
         perks = {
             'strenght': int(soup.find('div', {'perk': 1, 'class': 'perk_source_2'}).text),
             'education': int(soup.find('div', {'perk': 2, 'class': 'perk_source_2'}).text),

+ 1 - 1
src/rival_regions_wrapper/api_wrapper/war.py

@@ -63,7 +63,7 @@ class War():
         if search_result:
             seconds = int(search_result.group(0).replace('\'', ''))
             war_info['time_left'] = timedelta(seconds=seconds)
-            war_info['finish_date'] = datetime.now() + war_info['time_left']
+            war_info['finish_date'] = datetime.utcnow() + war_info['time_left']
 
         war_info['war_units'] = {}
         for war_unit in soup.select('.war_w_unit_div'):

+ 3 - 1
src/rival_regions_wrapper/api_wrapper/work.py

@@ -37,7 +37,9 @@ class Work():
         if level_str:
             factory_dict['level'] = int(re.sub(r'level\s', '', level_str.group(0)))
 
-        string_list = [string.strip() for string in factory.select_one('.button_white').strings]
+        string_list = []
+        for string in factory.select_one('.work_factory_button').strings:
+            string_list.append(string.strip())
         try:
             wage = string_list[2]
             if '%' in wage:

+ 1 - 0
src/rival_regions_wrapper/middleware.py

@@ -29,6 +29,7 @@ class LocalAuthentication(MiddlewareBase):
             'password': password,
             'login_method': login_method
         })
+        self.client.login()
         super().__init__()
 
     def get(self, path, add_c_var=False):