jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/636439 )
Change subject: [IMPR] explicit use getCombinedGenerator parameters ......................................................................
[IMPR] explicit use getCombinedGenerator parameters
- Use pagegenerators.getCombinedGenerator to pass a generator instead of modifying the gens instance variable - Use preload parameter for preloading instead of modifying the generator property - Remove generator parameter and use the usual generator keyword
Change-Id: I3b6919b50dcd6102f1f5ac5e412621138ed7cc8e --- M scripts/noreferences.py M scripts/reflinks.py 2 files changed, 13 insertions(+), 15 deletions(-)
Approvals: Mpaa: Looks good to me, approved jenkins-bot: Verified
diff --git a/scripts/noreferences.py b/scripts/noreferences.py index 1303574..4608898 100755 --- a/scripts/noreferences.py +++ b/scripts/noreferences.py @@ -43,6 +43,7 @@ from pywikibot import i18n, pagegenerators, textlib from pywikibot.bot import SingleSiteBot from pywikibot.pagegenerators import XMLDumpPageGenerator +from pywikibot.tools import remove_last_args
# This is required for the text that is shown when you run this script # with the parameter -help. @@ -516,15 +517,14 @@
"""References section bot."""
- def __init__(self, generator, **kwargs) -> None: + @remove_last_args(['gen']) + def __init__(self, **kwargs) -> None: """Initializer.""" self.available_options.update({ 'verbose': True, }) super().__init__(**kwargs)
- self.generator = pagegenerators.PreloadingGenerator(generator) - self.refR = _ref_regex self.referencesR = _references_regex self.referencesTagR = re.compile('<references>.*?</references>', @@ -760,27 +760,25 @@ @type args: str """ options = {} + gen = None
# Process global args and prepare generator args parser local_args = pywikibot.handle_args(args) genFactory = pagegenerators.GeneratorFactory()
for arg in local_args: - if arg.startswith('-xml'): - if len(arg) == 4: - xmlFilename = i18n.input('pywikibot-enter-xml-filename') - else: - xmlFilename = arg[5:] - genFactory.gens.append( - XmlDumpNoReferencesPageGenerator(xmlFilename)) - elif arg == '-always': + opt, _, value = arg.partition(':') + if opt == '-xml': + xmlFilename = value or i18n.input('pywikibot-enter-xml-filename') + gen = XmlDumpNoReferencesPageGenerator(xmlFilename) + elif opt == '-always': options['always'] = True - elif arg == '-quiet': + elif opt == '-quiet': options['verbose'] = False else: genFactory.handleArg(arg)
- gen = genFactory.getCombinedGenerator() + gen = genFactory.getCombinedGenerator(gen, preload=True) if not gen: site = pywikibot.Site() cat = site.page_from_repository(maintenance_category) @@ -788,7 +786,7 @@ gen = cat.articles(namespaces=genFactory.namespaces or [0])
if gen: - bot = NoReferencesBot(gen, **options) + bot = NoReferencesBot(generator=gen, **options) bot.run() else: pywikibot.bot.suggest_help(missing_generator=True) diff --git a/scripts/reflinks.py b/scripts/reflinks.py index 7b9c621..c656d0b 100755 --- a/scripts/reflinks.py +++ b/scripts/reflinks.py @@ -425,7 +425,7 @@ else: bad = globalbadtitles self.titleBlackList = re.compile(bad, re.I | re.S | re.X) - self.norefbot = noreferences.NoReferencesBot(None, verbose=False) + self.norefbot = noreferences.NoReferencesBot(verbose=False) self.deduplicator = DuplicateReferences(self.site)
self.site_stop_page = i18n.translate(self.site, stop_page)