Explorar o código

Add extra method for sending chats in auth handler

JoostSijm %!s(int64=4) %!d(string=hai) anos
pai
achega
55c213b426

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

@@ -2,14 +2,14 @@
 
 from rival_regions_wrapper.middleware import LocalAuthentication
 
-from .profile import Profile
-from .storage import Storage
-from .market import Market
-from .resource_state import ResourceState
-from .perks import Perks
-from .craft import Craft
-from .overview import Overview
-from .war import War
-from .work import Work
-from .article import Article
-from .conference import Conference
+from rival_regions_wrapper.api_wrapper.profile import Profile
+from rival_regions_wrapper.api_wrapper.storage import Storage
+from rival_regions_wrapper.api_wrapper.market import Market
+from rival_regions_wrapper.api_wrapper.resource_state import ResourceState
+from rival_regions_wrapper.api_wrapper.perks import Perks
+from rival_regions_wrapper.api_wrapper.craft import Craft
+from rival_regions_wrapper.api_wrapper.overview import Overview
+from rival_regions_wrapper.api_wrapper.war import War
+from rival_regions_wrapper.api_wrapper.work import Work
+from rival_regions_wrapper.api_wrapper.article import Article
+from rival_regions_wrapper.api_wrapper.conference import Conference

+ 4 - 8
src/rival_regions_wrapper/api_wrapper/language_chat.py

@@ -1,7 +1,5 @@
 """Language chat class"""
 
-import time
-
 from rival_regions_wrapper import authentication_handler, LOGGER
 from rival_regions_wrapper.api_wrapper.abstract_wrapper import AbstractWrapper
 
@@ -22,13 +20,11 @@ class LanguageChat(AbstractWrapper):
         browser = self.api_wrapper.client.get_browser()
         try:
             browser.go_to(
-                    'https://rivalregions.com/#slide/chat/lang_{}'
-                    .format(self.language)
+                    'https://rivalregions.com/#slide/chat/lang_{}'.format(
+                            self.language
+                        )
                 )
-            browser.refresh()
-            time.sleep(2)
-            browser.type(message, id='message')
-            browser.click(id='chat_send')
+            self.api_wrapper.client.send_chat(browser, message)
             LOGGER.info(
                     '"%s": CHAT: language %s, finished sending message',
                     self.api_wrapper.client.username, self.language

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

@@ -1,6 +1,5 @@
 """Profile class"""
 
-import time
 import re
 
 from bs4 import BeautifulSoup
@@ -45,13 +44,11 @@ class Profile(AbstractWrapper):
         browser = self.api_wrapper.client.get_browser()
         try:
             browser.go_to(
-                    'https://rivalregions.com/#messages/{}'
-                    .format(self.profile_id)
+                    'https://rivalregions.com/#messages/{}'.format(
+                            self.profile_id
+                        )
                 )
-            browser.refresh()
-            time.sleep(2)
-            browser.type(message, id='message')
-            browser.click(id='chat_send')
+            self.api_wrapper.client.send_chat(browser, message)
             LOGGER.info(
                     '"%s:" PM: user id %s, finished sending message',
                     self.api_wrapper.client.username, self.profile_id

+ 10 - 0
src/rival_regions_wrapper/authentication_handler.py

@@ -2,6 +2,8 @@
 Authentication handeler module
 """
 
+import time
+
 import sys
 import re
 
@@ -242,6 +244,14 @@ class AuthenticationHandler:
                 )
         return browser
 
+    @classmethod
+    def send_chat(cls, browser, message):
+        """Send message"""
+        browser.refresh()
+        time.sleep(2)
+        browser.type(message, id='message')
+        browser.click(id='chat_send')
+
     @classmethod
     def check_response(cls, response):
         """Check resonse for authentication"""