Ver Fonte

Working on work module

JoostSijm há 4 anos atrás
pai
commit
b79f353247

+ 1 - 1
rival_regions_wrapper/__init__.py

@@ -8,4 +8,4 @@ of some Rival Regions functionalities.
 
 from .authentication_handler import AuthenticationHandler
 from .middleware import LocalAuthentication, RemoteAuthentication
-from .api_wrapper import Profile, Storage, Market, ResourceState, Perks, Craft, Overview, War
+from .api_wrapper import Profile, Storage, Market, ResourceState, Perks, Craft, Overview, War, Work

+ 1 - 0
rival_regions_wrapper/api_wrapper/__init__.py

@@ -37,3 +37,4 @@ from .perks import Perks
 from .craft import Craft
 from .overview import Overview
 from .war import War
+from .work import Work

+ 26 - 0
rival_regions_wrapper/api_wrapper/work.py

@@ -0,0 +1,26 @@
+"""Profile class"""
+
+import re
+
+from bs4 import BeautifulSoup
+
+from . import MIDDLEWARE
+
+
+class Work(object):
+    """Wrapper class for profile"""
+
+    @staticmethod
+    def page():
+        """Get work page"""
+        path = 'work'
+        response = MIDDLEWARE.get(path)
+        soup = BeautifulSoup(response, 'html.parser')
+        factory_header = soup.select_one('.factory_slide')
+        work_page = {
+            'factory_id': int(factory_header['action'].replace('factory/index/', '')),
+            'factory_name': factory_header.text
+        }
+        factory = soup.select_one('.work_item:nth-child(4)')
+        print('"{}"'.format(factory.text))
+        return work_page

+ 7 - 1
tests/test_rival_regions_wrapper.py

@@ -5,7 +5,7 @@ from datetime import datetime, timedelta
 import pytest
 
 from rival_regions_wrapper.api_wrapper import Profile, Storage, Market, ResourceState, Perks, \
-    Craft, Overview, War
+    Craft, Overview, War, Work
 
 
 @pytest.fixture
@@ -180,3 +180,9 @@ def test_war_info():
         assert isinstance(response['time_left'], timedelta), "time left should be a time delta"
     assert isinstance(response['finish_date'], datetime), "Finish date should be a date"
     assert isinstance(response['war_units'], dict), "war units should be a dict"
+
+@pytest.mark.vcr()
+def test_work_info():
+    """Test work info"""
+    response = Work.page()
+    print(response)