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