Procházet zdrojové kódy

Improve code conventions wrapper class

JoostSijm před 4 roky
rodič
revize
d9818cbc82

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

@@ -12,4 +12,4 @@ from .overview import Overview
 from .war import War
 from .work import Work
 from .article import Article
-from .conference import Conference 
+from .conference import Conference

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

@@ -33,7 +33,9 @@ class Article():
 
         article_info = {
             'article_id': article_id,
-            'article_title': unicodedata.normalize("NFKD", soup.select_one('.title_totr').text),
+            'article_title': unicodedata.normalize(
+                "NFKD", soup.select_one('.title_totr').text
+            ),
             'author_name': re.sub(r',\s\skarma.*$', '', author.text),
             'author_id': int(author['action'].replace('slide/profile/', '')),
             'region_name': region.text,
@@ -45,7 +47,9 @@ class Article():
         }
 
         if newspaper:
-            article_info['newspaper_id'] = int(newspaper['action'].replace('newspaper/show/', ''))
+            article_info['newspaper_id'] = int(
+                    newspaper['action'].replace('newspaper/show/', '')
+                )
             article_info['newspaper_name'] = newspaper.text
         else:
             article_info['newspaper_id'] = None

+ 0 - 2
src/rival_regions_wrapper/api_wrapper/conference.py

@@ -1,7 +1,5 @@
 """Conference class"""
 
-from rival_regions_wrapper import functions
-
 
 class Conference():
     """Wrapper class for confernce"""

+ 34 - 49
src/rival_regions_wrapper/api_wrapper/craft.py

@@ -1,10 +1,33 @@
-"""CRAFT class"""
+"""Craft class"""
 
 import re
 
 from bs4 import BeautifulSoup
 
 
+KEYS = {
+    'oil': 3,
+    'ore': 4,
+    'uranium': 11,
+    'diamonds': 15,
+    'liquid_oxygen': 21,
+    'helium-3': 24,
+    'rivalium': 26,
+    'antirad': 13,
+    'energy_drink': 17,
+    'spacerockets': 20,
+    'lss': 25,
+    'tanks': 2,
+    'aircrafts': 1,
+    'missiles': 14,
+    'bombers': 16,
+    'battleships': 18,
+    'laser_drones': 27,
+    'moon_tanks': 22,
+    'space_stations': 23
+}
+
+
 class Craft():
     """Wrapper class for crafting"""
     def __init__(self, api_wrapper):
@@ -12,29 +35,8 @@ class Craft():
 
     def info(self, item):
         """Get craft"""
-        keys = {
-            'oil': 3,
-            'ore': 4,
-            'uranium': 11,
-            'diamonds': 15,
-            'liquid_oxygen': 21,
-            'helium-3': 24,
-            'rivalium': 26,
-            'antirad': 13,
-            'energy_drink': 17,
-            'spacerockets': 20,
-            'lss': 25,
-            'tanks': 2,
-            'aircrafts': 1,
-            'missiles': 14,
-            'bombers': 16,
-            'battleships': 18,
-            'laser_drones': 27,
-            'moon_tanks': 22,
-            'space_stations': 23
-        }
-        if isinstance(item, str) and item in keys:
-            item = keys[item]
+        if isinstance(item, str) and item in KEYS:
+            item = KEYS[item]
         path = 'storage/produce/{}'.format(item)
         response = self.api_wrapper.get(path)
         soup = BeautifulSoup(response, 'html.parser')
@@ -49,41 +51,24 @@ class Craft():
         }
         resource_cost = {}
         for name, selector in resource_dict.items():
-            element = resources.select_one('.{} .produce_discount'.format(selector))
+            element = resources.select_one(
+                    '.{} .produce_discount'.format(selector)
+                )
             if element:
                 resource_cost[name] = int(
                     re.sub(r'-|\.', '', element.text)
                 )
         craft = {
-            'market_price': int(re.sub(r'\.|\s\$', '', soup.select('.small .imp')[1].text)),
+            'market_price': int(
+                re.sub(r'\.|\s\$', '', soup.select('.small .imp')[1].text)
+            ),
             'resources': resource_cost
         }
         return craft
 
     def produce(self, item, amount):
         """Craft item"""
-        keys = {
-            'oil': 3,
-            'ore': 4,
-            'uranium': 11,
-            'diamonds': 15,
-            'liquid_oxygen': 21,
-            'helium-3': 24,
-            'rivalium': 26,
-            'antirad': 13,
-            'energy_drink': 17,
-            'spacerockets': 20,
-            'lss': 25,
-            'tanks': 2,
-            'aircrafts': 1,
-            'missiles': 14,
-            'bombers': 16,
-            'battleships': 18,
-            'laser_drones': 27,
-            'moon_tanks': 22,
-            'space_stations': 23
-        }
-        if isinstance(item, str) and item in keys:
-            item = keys[item]
+        if isinstance(item, str) and item in KEYS:
+            item = KEYS[item]
         self.api_wrapper.post('storage/newproduce/{}/{}'.format(item, amount))
         return True

+ 10 - 4
src/rival_regions_wrapper/api_wrapper/market.py

@@ -43,11 +43,17 @@ class Market():
         offers = []
         for offer_tree in offers_tree:
             offers.append({
-                'player_id': int(
-                    re.sub(r'^.*\/', '', offer_tree.select_one('.results_date')['action'])
+                'player_id': int(re.sub(
+                        r'^.*\/', '',
+                        offer_tree.select_one('.results_date')['action']
+                    )
                 ),
                 'player_name': offer_tree.select_one('.results_date').string,
-                'price': int(float(offer_tree.select('.list_level')[1]['rat'])*100),
-                'amount': int(offer_tree.select_one('.list_level.imp.small')['rat']),
+                'price': int(
+                    float(offer_tree.select('.list_level')[1]['rat'])*100
+                ),
+                'amount': int(
+                    offer_tree.select_one('.list_level.imp.small')['rat']
+                ),
             })
         return offers

+ 13 - 4
src/rival_regions_wrapper/api_wrapper/overview.py

@@ -24,7 +24,10 @@ class Overview():
             date_string = perk.select_one('.small')
             if date_string:
                 upgrade_perk = int(perk['perk'])
-                date_string = re.sub(r'^.*:\s', '', soup.select_one('.perk_source_4 .small').text)
+                date_string = re.sub(
+                        r'^.*:\s', '',
+                        soup.select_one('.perk_source_4 .small').text
+                    )
                 upgrade_date = functions.parse_date(date_string)
                 break
         auto_war = soup.select_one('.war_index_war span.pointer:nth-child(4)')
@@ -34,9 +37,15 @@ class Overview():
             auto_war = None
         overview = {
             '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),
-                'endurance': int(soup.find('div', {'perk': 3, 'class': 'perk_source_2'}).text),
+                'strenght': int(soup.find(
+                    'div', {'perk': 1, 'class': 'perk_source_2'}).text
+                ),
+                'education': int(soup.find(
+                    'div', {'perk': 2, 'class': 'perk_source_2'}).text
+                ),
+                'endurance': int(soup.find(
+                    'div', {'perk': 3, 'class': 'perk_source_2'}).text
+                ),
                 'upgrade_date': upgrade_date,
                 'upgrade_perk': upgrade_perk
             },

+ 13 - 4
src/rival_regions_wrapper/api_wrapper/perks.py

@@ -24,13 +24,22 @@ class Perks():
             date_string = perk.select_one('.small')
             if date_string:
                 upgrade_perk = int(perk['perk'])
-                date_string = re.sub(r'^.*:\s', '', soup.select_one('.perk_source_4 .small').text)
+                date_string = re.sub(
+                        r'^.*:\s', '',
+                        soup.select_one('.perk_source_4 .small').text
+                    )
                 upgrade_date = functions.parse_date(date_string)
                 break
         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),
-            'endurance': int(soup.find('div', {'perk': 3, 'class': 'perk_source_2'}).text),
+            'strenght': int(
+                soup.find('div', {'perk': 1, 'class': 'perk_source_2'}).text
+            ),
+            'education': int(
+                soup.find('div', {'perk': 2, 'class': 'perk_source_2'}).text
+            ),
+            'endurance': int(
+                soup.find('div', {'perk': 3, 'class': 'perk_source_2'}).text
+            ),
             'upgrade_date': upgrade_date,
             'upgrade_perk': upgrade_perk
         }

+ 4 - 2
src/rival_regions_wrapper/api_wrapper/profile.py

@@ -22,9 +22,11 @@ class Profile():
             'profile_id': self.profile_id,
             'name': re.sub(r'.*:\s', '', soup.find('h1').text),
             'level': int(re.sub(r'^Level\:\s|\s\(.*\)$', '', level)),
-            'level_percentage': int(re.sub(r'^Level\:\s(\d+)\s\(|\s\%\)$', '', level)),
+            'level_percentage': int(
+                re.sub(r'^Level\:\s(\d+)\s\(|\s\%\)$', '', level)
+            ),
             'strenght': int(perks[0].text),
             'education': int(perks[1].text),
-            'endurance': int(perks[2].text)
+            'endurance': int(perks[2].text),
         }
         return profile

+ 2 - 2
src/rival_regions_wrapper/api_wrapper/storage.py

@@ -37,10 +37,10 @@ class Storage():
         storage = {}
         for key, item_id in keys.items():
             storage[key] = int(
-                soup.find('span', {'urlbar' : item_id}).text.replace('.', '')
+                soup.find('span', {'urlbar': item_id}).text.replace('.', '')
             )
             storage['{}_max'.format(key)] = int(
-                soup.find('span', {'urlbar' : item_id})['maxstore']
+                soup.find('span', {'urlbar': item_id})['maxstore']
             )
 
         return storage