jenkins-bot submitted this change.

View Change

Approvals: Mpaa: Looks good to me, approved jenkins-bot: Verified
[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(-)

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)

To view, visit change 636439. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I3b6919b50dcd6102f1f5ac5e412621138ed7cc8e
Gerrit-Change-Number: 636439
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info@gno.de>
Gerrit-Reviewer: D3r1ck01 <xsavitar.wiki@aol.com>
Gerrit-Reviewer: Mpaa <mpaa.wiki@gmail.com>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged