| Mpaa added a comment. |
The problem is that in site.preloadpages(), max_ids is computed after the pageslist is splitted in chunks of 240.
for sublist in itergroup(pagelist, groupsize): <----------- groupsize = 240
# Do not use p.pageid property as it will force page loading.
pageids = [str(p._pageid) for p in sublist
if hasattr(p, '_pageid') and p._pageid > 0]
cache = {}
# In case of duplicates, return the first entry.
for priority, page in enumerate(sublist):
try:
cache.setdefault(page.title(with_section=False),
(priority, page))
except pywikibot.InvalidTitle:
pywikibot.exception()
prio_queue = []
next_prio = 0
rvgen = api.PropertyGenerator(props, site=self)
rvgen.set_maximum_items(-1) # suppress use of "rvlimit" parameter
parameter = self._paraminfo.parameter('query+info', 'prop')
if self.logged_in() and self.has_right('apihighlimits'): <----------- False
max_ids = int(parameter['highlimit'])
else:
max_ids = int(parameter['limit']) # T78333, T161783 <----------- max_ids = 50
if len(pageids) == len(sublist) and len(set(pageids)) <= max_ids: <----------- False
# only use pageids if all pages have them
rvgen.request['pageids'] = set(pageids)
else:
rvgen.request['titles'] = list(cache.keys()) <----------- len(cache) = 240 ---> PROBLEM!
rvgen.request['rvprop'] = rvprop
pywikibot.output('Retrieving %s pages from %s.'
% (len(cache), self))TASK DETAIL
EMAIL PREFERENCES
To: Mpaa
Cc: Mpaa, Xqt, Phuzion, Aklapper, pywikibot-bugs-list, Framawiki, Wenyi, Tbscho, MayS, Mdupont, JJMC89, Avicennasis, mys_721tx, jayvdb, Dalba, Masti, Alchimista, Rxy
Cc: Mpaa, Xqt, Phuzion, Aklapper, pywikibot-bugs-list, Framawiki, Wenyi, Tbscho, MayS, Mdupont, JJMC89, Avicennasis, mys_721tx, jayvdb, Dalba, Masti, Alchimista, Rxy
_______________________________________________ pywikibot-bugs mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/pywikibot-bugs
