jenkins-bot has submitted this change and it was merged.
Change subject: [bugfix] Solve arg parsing for positional arguments in pagegenerators ......................................................................
[bugfix] Solve arg parsing for positional arguments in pagegenerators
- Test added.
Bug: T131384 Change-Id: I177ecba8d527a02075caaba837d52d4b6184726a --- M pywikibot/pagegenerators.py M tests/pagegenerators_tests.py 2 files changed, 28 insertions(+), 1 deletion(-)
Approvals: Ladsgroup: Looks good to me, approved Urbanecm: Looks good to me, but someone else must approve Dalba: Looks good to me, but someone else must approve jenkins-bot: Verified
diff --git a/pywikibot/pagegenerators.py b/pywikibot/pagegenerators.py index 224f93a..ddd6577 100644 --- a/pywikibot/pagegenerators.py +++ b/pywikibot/pagegenerators.py @@ -635,7 +635,8 @@
gen = None if not arg.startswith('-') and self._positional_arg_name: - arg = u'-{0}:{1}'.format(self._positional_arg_name, arg) + value = arg + arg = '-' + self._positional_arg_name
if arg == '-filelinks': if not value: diff --git a/tests/pagegenerators_tests.py b/tests/pagegenerators_tests.py index 150574d..5adb054 100755 --- a/tests/pagegenerators_tests.py +++ b/tests/pagegenerators_tests.py @@ -839,6 +839,32 @@ self.assertIsNotNone(gen) self.assertPagesInNamespaces(gen, set([1, 3]))
+ def test_pagegenerator(self): + """Test page generator.""" + gf = pagegenerators.GeneratorFactory(site=self.site) + gf.handleArg('-page:Main Page') + gen = gf.getCombinedGenerator() + self.assertIsNotNone(gen) + + def test_empty_generator(self): + """Test empty generator.""" + gf = pagegenerators.GeneratorFactory(site=self.site) + gen = gf.getCombinedGenerator() + self.assertIsNone(gen) + + def test_positionalargument(self): + """Test page generator with positional argument.""" + gf1 = pagegenerators.GeneratorFactory(site=self.site, + positional_arg_name='page') + gf1.handleArg('Main Page') + gen1 = gf1.getCombinedGenerator() + self.assertIsNotNone(gen1) + gf2 = pagegenerators.GeneratorFactory(site=self.site) + gf2.handleArg('-page:Main Page') + gen2 = gf1.getCombinedGenerator() + self.assertIsNotNone(gen2) + self.assertEqual(list(gen1), list(gen2)) +
class TestFactoryGeneratorWikibase(WikidataTestCase):
pywikibot-commits@lists.wikimedia.org