jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1018821?usp=email )
Change subject: [FIX] Skip process that requires login to logout ......................................................................
[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(-)
Approvals: jenkins-bot: Verified Xqt: Looks good to me, approved
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