Awjrichards has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/95750


Change subject: Create persistent requests session
......................................................................

Create persistent requests session

This makes it easier to properly pass cookies around for authenticated
sessions.

Change-Id: Iafd254fcc8a3b208540e6b1faebd42ad7f0a1da5
---
M git-logs/mwapi.py
1 file changed, 5 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/release 
refs/changes/50/95750/1

diff --git a/git-logs/mwapi.py b/git-logs/mwapi.py
index 9c77532..32a1e6c 100644
--- a/git-logs/mwapi.py
+++ b/git-logs/mwapi.py
@@ -5,11 +5,12 @@
 
 
 class MWApi:
-    sessionCookie = dict()
     loggedIn = False
 
     def __init__(self):
         self.endpoint = 'https://www.mediawiki.org/w/api.php'
+        # create a requests session to persist all cookies
+        self.session = requests.Session()
 
     def login(self, username, password, token=None):
         payload = {
@@ -18,17 +19,13 @@
         }
         if token:
             payload['lgtoken'] = token
-        action_endpoint = "%s?action=login&format=json" % self.endpoint
-        r = requests.post(
-            action_endpoint,
-            data=payload,
-            cookies=self.sessionCookie)
+        r = self.session.post(
+            self.getActionEndpoint('login'),
+            data=payload)
         r.raise_for_status()
         result = r.json()
         if result['login']['result'] == 'NeedToken':
             token = result['login']['token']
-            sessionName = '%sSession' % result['login']['cookieprefix']
-            self.sessionCookie[sessionName] = r.cookies[sessionName]
             self.login(username, password, token)
         elif result['login']['result'] == 'Success':
             self.loggedIn = True

-- 
To view, visit https://gerrit.wikimedia.org/r/95750
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iafd254fcc8a3b208540e6b1faebd42ad7f0a1da5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/tools/release
Gerrit-Branch: master
Gerrit-Owner: Awjrichards <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to