XZise has uploaded a new change for review.
https://gerrit.wikimedia.org/r/184125
Change subject: [IMPROV] Request all tokens at once
......................................................................
[IMPROV] Request all tokens at once
Prior to version 1.20 it wasn't requesting all tokens at once but each
in a separate request. But the API actually allows to request all tokens
at once.
Change-Id: I91326d6a30269f617ba60d18079339832028da5b
---
M pywikibot/site.py
1 file changed, 12 insertions(+), 14 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core
refs/changes/25/184125/1
diff --git a/pywikibot/site.py b/pywikibot/site.py
index c1fd08a..9e0c75a 100644
--- a/pywikibot/site.py
+++ b/pywikibot/site.py
@@ -2673,24 +2673,23 @@
if _version < MediaWikiVersion('1.20'):
if all:
types.extend(self.TOKENS_0)
- for tokentype in self.validate_tokens(types):
- # 'patrol' token is done later on.
- if tokentype == 'patrol':
- continue
- query = api.PropertyGenerator('info',
- titles='Dummy page',
- intoken=tokentype,
- site=self)
- query.request._warning_handler = warn_handler
+ valid_tokens = set(self.validate_tokens(types))
+ # don't request patrol
+ query = api.PropertyGenerator('info',
+ titles='Dummy page',
+ intoken=valid_tokens -
set(['patrol']),
+ site=self)
+ query.request._warning_handler = warn_handler
- for item in query:
- pywikibot.debug(unicode(item), _logger)
+ for item in query:
+ pywikibot.debug(unicode(item), _logger)
+ for tokentype in valid_tokens:
if (tokentype + 'token') in item:
user_tokens[tokentype] = item[tokentype + 'token']
# patrol token require special handling.
# TODO: try to catch exceptions?
- if 'patrol' in types:
+ if 'patrol' in valid_tokens:
if MediaWikiVersion('1.14') <= _version <
MediaWikiVersion('1.17'):
user_tokens['patrol'] = user_tokens['edit']
else:
@@ -2707,8 +2706,7 @@
item = data['recentchanges'][0]
pywikibot.debug(unicode(item), _logger)
if 'patroltoken' in item:
- user_tokens['patrol'] = item.get('patroltoken')
-
+ user_tokens['patrol'] = item['patroltoken']
else:
if _version < MediaWikiVersion('1.24wmf19'):
if all is not False:
--
To view, visit https://gerrit.wikimedia.org/r/184125
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I91326d6a30269f617ba60d18079339832028da5b
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: XZise <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits