jenkins-bot merged this change.

View Change

Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
[bugfix] Fix login error in MW < 1.27

My bad, last patch broke their login process. Good we now test
Fandom wiki again and can detect these issues quickly!

Change-Id: I5600dfa32d607cc59f9bd69ebe789d8de6ac3d7e
---
M pywikibot/data/api.py
1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/pywikibot/data/api.py b/pywikibot/data/api.py
index 164d8f0..5e72deb 100644
--- a/pywikibot/data/api.py
+++ b/pywikibot/data/api.py
@@ -3163,11 +3163,18 @@
fail_reason = response.get(self.keyword('reason'), '')
if status == self.keyword('success'):
return ''
- elif status in ('NeedToken', 'WrongToken') and not below_mw_1_27:
- # if incorrect login token was used,
- # force relogin and generate fresh one
- pywikibot.error('Received incorrect login token. '
- 'Forcing re-login.')
+ elif status in ('NeedToken', 'WrongToken'):
+ token = response.get('token')
+ if token and below_mw_1_27:
+ # fetched token using action=login
+ login_request['lgtoken'] = token
+ pywikibot.log('Received login token, '
+ 'proceed with login.')
+ else:
+ # if incorrect login token was used,
+ # force relogin and generate fresh one
+ pywikibot.error('Received incorrect login token. '
+ 'Forcing re-login.')
continue
elif (status == 'Throttled' or status == 'FAIL'
and response['messagecode'] == 'login-throttled'

To view, visit change 584221. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I5600dfa32d607cc59f9bd69ebe789d8de6ac3d7e
Gerrit-Change-Number: 584221
Gerrit-PatchSet: 7
Gerrit-Owner: Dvorapa <dvorapa@seznam.cz>
Gerrit-Reviewer: Xqt <info@gno.de>
Gerrit-Reviewer: jenkins-bot (75)