jenkins-bot has submitted this change and it was merged.
Change subject: api: handle assertuserfailed and mustbeposted (purge) errors
......................................................................
api: handle assertuserfailed and mustbeposted (purge) errors
Bug: T108942
Bug: T108947
Change-Id: I9a6f84079ce8279ffb5a0b8c907c9afffd11f119
---
M pywikibot/data/api.py
1 file changed, 15 insertions(+), 0 deletions(-)
Approvals:
John Vandenberg: Looks good to me, approved
Merlijn van Deen: Looks good to me, but someone else must approve
jenkins-bot: Verified
diff --git a/pywikibot/data/api.py b/pywikibot/data/api.py
index aafb63e..814b6ee 100644
--- a/pywikibot/data/api.py
+++ b/pywikibot/data/api.py
@@ -2036,6 +2036,21 @@
self.site._relogin()
continue
+ # If the user assertion failed, we're probably logged out as well.
+ if code == 'assertuserfailed':
+ pywikibot.error("User assertion failed. Forcing re-login.")
+ self.site._relogin()
+ continue
+
+ # Lastly, the purge module require a POST if used as anonymous user,
+ # but we normally send a GET request. If the API tells us the request
+ # has to be POSTed, we're probably logged out.
+ if code == 'mustbeposted' and self.action == 'purge':
+ pywikibot.error("Received unexpected 'mustbeposted' error.
"
+ "Forcing re-login.")
+ self.site._relogin()
+ continue
+
if code == "maxlag":
lag = lagpattern.search(info)
if lag:
--
To view, visit
https://gerrit.wikimedia.org/r/231218
To unsubscribe, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I9a6f84079ce8279ffb5a0b8c907c9afffd11f119
Gerrit-PatchSet: 12
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Ladsgroup <ladsgroup(a)gmail.com>
Gerrit-Reviewer: Merlijn van Deen <valhallasw(a)arctus.nl>
Gerrit-Reviewer: XZise <CommodoreFabianus(a)gmx.de>
Gerrit-Reviewer: jenkins-bot <>