fix: `--xmlapiexport` fails to get `rvcontinue`

on MW 1.21 ~ 1.25
pull/475/head
yzqzss 1 year ago committed by Rob Kam
parent 00b47646e8
commit c03ebadc4c

@ -187,13 +187,27 @@ def getXMLPageWithApi(config: Config=None, title="", verbose=True, session=None)
continueVal = None
if root.find('continue') is not None:
# uses continue.rvcontinue
# MW 1.26+
continueKey = 'rvcontinue'
continueVal = root.find('continue').attrib['rvcontinue']
elif root.find('query-continue') is not None:
continueKey = 'rvstartid'
revContinue = root.find('query-continue').find('revisions')
assert revContinue is not None, "Should only have revisions continue"
continueVal = revContinue.attrib['rvstartid']
if 'rvcontinue' in revContinue.attrib:
# MW 1.21 ~ 1.25
continueKey = 'rvcontinue'
continueVal = revContinue.attrib['rvcontinue']
elif 'rvstartid' in revContinue.attrib:
# TODO: MW ????
continueKey = 'rvstartid'
continueVal = revContinue.attrib['rvstartid']
else:
# blindly assume the first attribute is the continue key
# may never happen
assert len(revContinue.attrib) > 0, "Should have at least one attribute"
for continueKey in revContinue.attrib.keys():
continueVal = revContinue.attrib[continueKey]
break
if continueVal is not None:
params[continueKey] = continueVal
try:

Loading…
Cancel
Save