Bläddra i källkod

Added:
- post an article

Innominatus 5 år sedan
förälder
incheckning
302e1d020e
2 ändrade filer med 24 tillägg och 9 borttagningar
  1. 19 7
      Client.py
  2. 5 2
      testing/test_login.py

+ 19 - 7
Client.py

@@ -10,24 +10,25 @@ class RRBotException(Exception):
 
 
 class Client:
-    def __init__(self, login_method, username, password, expires=None):
+    def __init__(self, login_method, username, password, expires=None, show_window=False):
         self.login_method = login_method
         self.username = username
         self.password = password
         self.expires = expires
         self.session_id = None
+        self.c = None
+        self.show_window = show_window
 
         if login_method in ["g", "google", "v", "vk", "f", "facebook"]:
             self.login()
         else:
             raise RRBotException("Not a valid login method.")
 
-
     def login(self):
         login_method = self.login_method
-        self.s = sessions.FuturesSession()
+        self.s = requests.Session()
         auth_text = requests.get("http://rivalregions.com").text
-        web = Browser(showWindow=False)
+        web = Browser(showWindow=self.show_window)
         if login_method == ("g" or "google"):
             auth_text1 = auth_text.split('\t<a href="')
             auth_text2 = auth_text1[1].split('" class="sa')
@@ -45,7 +46,6 @@ class Client:
         elif login_method == ("v" or "vk"):
             auth_text1 = auth_text.split("(\'.vkvk\').attr(\'url\', \'")
             auth_text2 = auth_text1[1].split('&response')
-            web = Browser(showWindow=False)
 
             web.go_to(auth_text2[0])
             web.type(self.username, into='email')
@@ -81,13 +81,25 @@ class Client:
 
     def set_c(self):
         r = self.s.get('http://rivalregions.com/#overview')
-        response = r.result()
-        lines = response.text.split("\n")
+        lines = r.text.split("\n")
         for line in lines:
             if re.match("(.*)var c_html(.*)", line):
                 self.c = line.split("'")[-2]
                 return
 
+    def create_article(self, title, article, article_lang="en", paper_id=0, category='0', region="4524"):
+        r = self.s.get('http://rivalregions.com/#overview')
+        r = self.s.post("http://rivalregions.com/news/post", data={"c":self.c,
+                                                                   'newspaper': paper_id,
+                                                                   'category': category,
+                                                                   'paper': article,
+                                                                   'title': title,
+                                                                   'region': region})
+
+
+        #f"lang={article_lang}&newspaper={paper_id}&category={category}&paper={article}&title={title}&region={region}&c={self.c}")
+        print(r.text)
+
     async def do_something(self):
         #TODO Get some request done
         pass

+ 5 - 2
testing/test_login.py

@@ -1,7 +1,10 @@
 from Client import Client
+
 user = input("User: ")
 passw = input("Pass: ")
 method = input("Method: ")
 
-cli = Client(method, user, passw)
-print(cli.c)
+cli = Client(method, user, passw, show_window=False)
+print(cli.c)
+
+# cli.create_article("Test","Whoops")