jenkins-bot submitted this change.

View Change


Approvals: jenkins-bot: Verified Xqt: Looks good to me, approved
[FIX] Skip process that requires login to logout

Getting self.tokens['crsf'] triggers a login when not already logged in.
Checks LoginStatus and only continue the steps if still logged in.

Bug: T326614
Change-Id: I50e49e9ea8dbf2ef29c7606b4cd318ac02f8c33c
---
M pywikibot/site/_apisite.py
1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/pywikibot/site/_apisite.py b/pywikibot/site/_apisite.py
index 340d82e..4924b60 100644
--- a/pywikibot/site/_apisite.py
+++ b/pywikibot/site/_apisite.py
@@ -471,10 +471,12 @@
if self.is_oauth_token_available():
pywikibot.warning('Using OAuth suppresses logout function')

- req_params = {'action': 'logout', 'token': self.tokens['csrf']}
- uirequest = self.simple_request(**req_params)
- uirequest.submit()
- self._loginstatus = login.LoginStatus.NOT_LOGGED_IN
+ # check if already logged out to avoid requiring logging in
+ if not self._loginstatus == login.LoginStatus.NOT_LOGGED_IN:
+ req_params = {'action': 'logout', 'token': self.tokens['csrf']}
+ uirequest = self.simple_request(**req_params)
+ uirequest.submit()
+ self._loginstatus = login.LoginStatus.NOT_LOGGED_IN

# Reset tokens and user properties
del self.userinfo

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

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I50e49e9ea8dbf2ef29c7606b4cd318ac02f8c33c
Gerrit-Change-Number: 1018821
Gerrit-PatchSet: 1
Gerrit-Owner: Ericpien <eric.hs.pien@gmail.com>
Gerrit-Reviewer: Xqt <info@gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged