M4tx has uploaded a new change for review.
https://gerrit.wikimedia.org/r/186176
Change subject: Fix TypeError in APIGenerator.set_maximum_items on Python3
......................................................................
Fix TypeError in APIGenerator.set_maximum_items on Python3
Also, add comments to the function, and update the query
increment in set_maximum_items to higher value if needed.
Bug: T68949
Change-Id: I17122aac2b0ee86bb131c1a905a0ca87cff0c402
---
M pywikibot/data/api.py
1 file changed, 13 insertions(+), 4 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core
refs/changes/76/186176/1
diff --git a/pywikibot/data/api.py b/pywikibot/data/api.py
index d5100ad..52e6383 100644
--- a/pywikibot/data/api.py
+++ b/pywikibot/data/api.py
@@ -1502,10 +1502,11 @@
self.limit_name = limit_name
self.data_name = data_name
+ self.query_increment = 50
self.limit = None
self.starting_offset = kwargs.pop(self.continue_name, 0)
self.request = Request(**kwargs)
- self.request[self.limit_name] = 50
+ self.request[self.limit_name] = self.query_increment
def set_query_increment(self, value):
"""
@@ -1517,9 +1518,11 @@
per API request to set.
@type value: int
"""
- self.request[self.limit_name] = int(value)
+ self.query_increment = int(value)
+ self.request[self.limit_name] = self.query_increment
pywikibot.debug(u"%s: Set query_limit to %i."
- % (self.__class__.__name__, int(value)), _logger)
+ % (self.__class__.__name__, self.query_increment),
+ _logger)
def set_maximum_items(self, value):
"""
@@ -1533,8 +1536,14 @@
@type value: int
"""
self.limit = int(value)
- if self.limit < self.request[self.limit_name]:
+ if self.limit < self.query_increment:
+ # If the new limit of maximum number of items to be retrieved is
+ # low, there's no point in retrieving more in API query
self.request[self.limit_name] = self.limit
+ else:
+ # The limit might have been updated earlier to the lower value,
+ # so restore the original one
+ self.request[self.limit_name] = self.query_increment
def __iter__(self):
"""Submit request and iterate the response.
--
To view, visit https://gerrit.wikimedia.org/r/186176
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I17122aac2b0ee86bb131c1a905a0ca87cff0c402
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: M4tx <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits