Ricordisamoa has uploaded a new change for review. https://gerrit.wikimedia.org/r/118938
Change subject: add Site.wantedpages() and pagegenerators.WantedPagesPageGenerator() ...................................................................... add Site.wantedpages() and pagegenerators.WantedPagesPageGenerator() per Bug 54557 also cleaned up some deprecate arguments in pagegenerators Change-Id: I981d45342ed7f9eca07b2c0431b51240c496f285 --- M pywikibot/pagegenerators.py M pywikibot/site.py 2 files changed, 54 insertions(+), 67 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core refs/changes/38/118938/1 diff --git a/pywikibot/pagegenerators.py b/pywikibot/pagegenerators.py index df3068e..4a8ded2 100644 --- a/pywikibot/pagegenerators.py +++ b/pywikibot/pagegenerators.py @@ -302,19 +302,19 @@ if len(arg) == 12: gen = UnusedFilesGenerator() else: - gen = UnusedFilesGenerator(number=int(arg[13:])) + gen = UnusedFilesGenerator(total=int(arg[13:])) elif arg.startswith('-unwatched'): if len(arg) == 10: gen = UnwatchedPagesPageGenerator() else: - gen = UnwatchedPagesPageGenerator(number=int(arg[11:])) + gen = UnwatchedPagesPageGenerator(total=int(arg[11:])) elif arg.startswith('-usercontribs'): gen = UserContributionsGenerator(arg[14:]) elif arg.startswith('-withoutinterwiki'): if len(arg) == 17: gen = WithoutInterwikiPageGenerator() else: - gen = WithoutInterwikiPageGenerator(number=int(arg[18:])) + gen = WithoutInterwikiPageGenerator(total=int(arg[18:])) elif arg.startswith('-interwiki'): title = arg[11:] if not title: @@ -326,12 +326,12 @@ if len(arg) == 15: gen = RandomRedirectPageGenerator() else: - gen = RandomRedirectPageGenerator(number=int(arg[16:])) + gen = RandomRedirectPageGenerator(total=int(arg[16:])) elif arg.startswith('-random'): if len(arg) == 7: gen = RandomPageGenerator() else: - gen = RandomPageGenerator(number=int(arg[8:])) + gen = RandomPageGenerator(total=int(arg[8:])) elif arg.startswith('-recentchanges'): if len(arg) >= 15: gen = RecentChangesPageGenerator(total=int(arg[15:])) @@ -924,94 +924,101 @@ #TODO below @deprecate_arg("extension", None) -def UnusedFilesGenerator(number=100, repeat=False, site=None, extension=None): +def UnusedFilesGenerator(total=100, site=None, extension=None): if site is None: site = pywikibot.Site() - for page in site.unusedfiles(number=number, repeat=repeat): + for page in site.unusedfiles(total=total): yield pywikibot.ImagePage(page.site, page.title()) -def WithoutInterwikiPageGenerator(number=100, repeat=False, site=None): +def WithoutInterwikiPageGenerator(total=100, site=None): if site is None: site = pywikibot.Site() - for page in site.withoutinterwiki(number=number, repeat=repeat): + for page in site.withoutinterwiki(total=total): yield page -def UnCategorizedCategoryGenerator(number=100, repeat=False, site=None): +def UnCategorizedCategoryGenerator(total=100, site=None): if site is None: site = pywikibot.Site() - for page in site.uncategorizedcategories(number=number, repeat=repeat): + for page in site.uncategorizedcategories(total=total): yield page -def UnCategorizedImageGenerator(number=100, repeat=False, site=None): +def UnCategorizedImageGenerator(total=100, site=None): if site is None: site = pywikibot.Site() - for page in site.uncategorizedimages(number=number, repeat=repeat): + for page in site.uncategorizedimages(total=total): yield page -def UnCategorizedPageGenerator(number=100, repeat=False, site=None): +def UnCategorizedPageGenerator(total=100, site=None): if site is None: site = pywikibot.Site() - for page in site.uncategorizedpages(number=number, repeat=repeat): + for page in site.uncategorizedpages(total=total): yield page -def LonelyPagesPageGenerator(number=100, repeat=False, site=None): +def LonelyPagesPageGenerator(total=100, site=None): if site is None: site = pywikibot.Site() - for page in site.lonelypages(number=number, repeat=repeat): + for page in site.lonelypages(total=total): yield page -def UnwatchedPagesPageGenerator(number=100, repeat=False, site=None): +def UnwatchedPagesPageGenerator(total=100, site=None): if site is None: site = pywikibot.Site() - for page in site.unwatchedpages(number=number, repeat=repeat): + for page in site.unwatchedpages(total=total): yield page -def AncientPagesPageGenerator(number=100, repeat=False, site=None): +def WantedPagesPageGenerator(total=100, site=None): if site is None: site = pywikibot.Site() - for page, date in site.ancientpages(number=number, repeat=repeat): + for page in site.wantedpages(total=total): yield page -def DeadendPagesPageGenerator(number=100, repeat=False, site=None): +def AncientPagesPageGenerator(total=100, site=None): if site is None: site = pywikibot.Site() - for page in site.deadendpages(number=number, repeat=repeat): + for page, date in site.ancientpages(total=total): yield page -def LongPagesPageGenerator(number=100, repeat=False, site=None): +def DeadendPagesPageGenerator(total=100, site=None): if site is None: site = pywikibot.Site() - for page, length in site.longpages(number=number, repeat=repeat): + for page in site.deadendpages(total=total): yield page -def ShortPagesPageGenerator(number=100, repeat=False, site=None): +def LongPagesPageGenerator(total=100, site=None): if site is None: site = pywikibot.Site() - for page, length in site.shortpages(total=number, repeat=repeat): + for page, length in site.longpages(total=total): yield page -def RandomPageGenerator(number=10, site=None): +def ShortPagesPageGenerator(total=100, site=None): if site is None: site = pywikibot.Site() - for page in site.randompages(total=number): + for page, length in site.shortpages(total=total): yield page -def RandomRedirectPageGenerator(number=10, site=None): +def RandomPageGenerator(total=10, site=None): if site is None: site = pywikibot.Site() - for page in site.randompages(total=number, redirects=True): + for page in site.randompages(total=total): + yield page + + +def RandomRedirectPageGenerator(total=10, site=None): + if site is None: + site = pywikibot.Site() + for page in site.randompages(total=total, redirects=True): yield page diff --git a/pywikibot/site.py b/pywikibot/site.py index 1cb32bf..92c4fe7 100644 --- a/pywikibot/site.py +++ b/pywikibot/site.py @@ -637,6 +637,9 @@ def unwatchedpages_address(self, n=500): raise NotImplementedError + def wantedpages_address(self, n=500): + raise NotImplementedError + def uncategorizedcategories_address(self, n=500): raise NotImplementedError @@ -3388,8 +3391,6 @@ yield (newpage, pageitem['timestamp'], pageitem['newlen'], u'', pageitem['user'], pageitem['comment']) - @deprecate_arg("number", None) - @deprecate_arg("repeat", None) def newimages(self, user=None, start=None, end=None, reverse=False, step=None, total=None): """Yield information about newly uploaded images. @@ -3410,8 +3411,6 @@ comment = event['comment'] or u'' yield (image, date, user, comment) - @deprecate_arg("number", None) - @deprecate_arg("repeat", None) def longpages(self, step=None, total=None): """Yield Pages and lengths from Special:Longpages. @@ -3425,8 +3424,6 @@ yield (pywikibot.Page(self, pageitem['title']), int(pageitem['value'])) - @deprecate_arg("number", "total") - @deprecate_arg("repeat", None) def shortpages(self, step=None, total=None): """Yield Pages and lengths from Special:Shortpages. @@ -3440,8 +3437,6 @@ yield (pywikibot.Page(self, pageitem['title']), int(pageitem['value'])) - @deprecate_arg("number", None) - @deprecate_arg("repeat", None) def deadendpages(self, step=None, total=None): """Yield Page objects retrieved from Special:Deadendpages.""" degen = self._generator(api.PageGenerator, @@ -3449,8 +3444,6 @@ step=step, total=total) return degen - @deprecate_arg("number", None) - @deprecate_arg("repeat", None) def ancientpages(self, step=None, total=None): """Yield Pages, datestamps from Special:Ancientpages.""" apgen = self._generator(api.ListGenerator, @@ -3460,8 +3453,6 @@ yield (pywikibot.Page(self, pageitem['title']), pywikibot.Timestamp.fromISOformat(pageitem['timestamp'])) - @deprecate_arg("number", None) - @deprecate_arg("repeat", None) def lonelypages(self, step=None, total=None): """Yield Pages retrieved from Special:Lonelypages.""" lpgen = self._generator(api.PageGenerator, @@ -3469,8 +3460,6 @@ step=step, total=total) return lpgen - @deprecate_arg("number", None) - @deprecate_arg("repeat", None) def unwatchedpages(self, step=None, total=None): """Yield Pages from Special:Unwatchedpages (requires Admin privileges). @@ -3480,10 +3469,16 @@ step=step, total=total) return uwgen - @deprecate_arg("number", None) - @deprecate_arg("repeat", None) - def uncategorizedcategories(self, number=None, repeat=True, - step=None, total=None): + def wantedpages(self, step=None, total=None): + """Yield Pages from Special:Wantedpages. + + """ + wpgen = self._generator(api.PageGenerator, + type_arg="querypage", gqppage="Wantedpages", + step=step, total=total) + return wpgen + + def uncategorizedcategories(self, step=None, total=None): """Yield Categories from Special:Uncategorizedcategories.""" ucgen = self._generator(api.CategoryPageGenerator, type_arg="querypage", @@ -3491,10 +3486,7 @@ step=step, total=total) return ucgen - @deprecate_arg("number", None) - @deprecate_arg("repeat", None) - def uncategorizedimages(self, number=None, repeat=True, - step=None, total=None): + def uncategorizedimages(self, step=None, total=None): """Yield ImagePages from Special:Uncategorizedimages.""" uigen = self._generator(api.ImagePageGenerator, type_arg="querypage", @@ -3505,10 +3497,7 @@ #synonym uncategorizedfiles = uncategorizedimages - @deprecate_arg("number", None) - @deprecate_arg("repeat", None) - def uncategorizedpages(self, number=None, repeat=True, - step=None, total=None): + def uncategorizedpages(self, step=None, total=None): """Yield Pages from Special:Uncategorizedpages.""" upgen = self._generator(api.PageGenerator, type_arg="querypage", @@ -3516,10 +3505,7 @@ step=step, total=total) return upgen - @deprecate_arg("number", None) - @deprecate_arg("repeat", None) - def uncategorizedtemplates(self, number=None, repeat=True, step=None, - total=None): + def uncategorizedtemplates(self, step=None, total=None): """Yield Pages from Special:Uncategorizedtemplates.""" utgen = self._generator(api.PageGenerator, type_arg="querypage", @@ -3527,8 +3513,6 @@ step=step, total=total) return utgen - @deprecate_arg("number", None) - @deprecate_arg("repeat", None) def unusedcategories(self, step=None, total=None): """Yield Category objects from Special:Unusedcategories.""" ucgen = self._generator(api.CategoryPageGenerator, @@ -3537,8 +3521,6 @@ step=step, total=total) return ucgen - @deprecate_arg("number", None) - @deprecate_arg("repeat", None) def unusedfiles(self, step=None, total=None): """Yield ImagePage objects from Special:Unusedimages.""" uigen = self._generator(api.ImagePageGenerator, @@ -3550,8 +3532,6 @@ #synonym unusedimages = unusedfiles - @deprecate_arg("number", None) - @deprecate_arg("repeat", None) def withoutinterwiki(self, step=None, total=None): """Yield Pages without language links from Special:Withoutinterwiki.""" wigen = self._generator(api.PageGenerator, -- To view, visit https://gerrit.wikimedia.org/r/118938 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I981d45342ed7f9eca07b2c0431b51240c496f285 Gerrit-PatchSet: 1 Gerrit-Project: pywikibot/core Gerrit-Branch: master Gerrit-Owner: Ricordisamoa <ricordisa...@live.it> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits