From da4f9b5d6bc3eaad44ee5373bf45b8fb7e410703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?GOLDERWEB=20=E2=80=93=20Jonathan=20Golder?= Date: Sun, 28 Aug 2016 18:09:04 +0200 Subject: [PATCH] Add wrapper-generator to redfam.article_generator We need a wrapper around redfam.article_generator to pass it to pagegenerators.PageWithTalkPageGenerator and to add a reference to related redfam to each pywikibot.page-object before yielding it Related Task: [https://fs.golderweb.de/index.php?do=details&task_id=88 FS#88] --- bots/markpages.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/bots/markpages.py b/bots/markpages.py index ca9d586..d20951f 100644 --- a/bots/markpages.py +++ b/bots/markpages.py @@ -88,6 +88,26 @@ class MarkPagesBot( CurrentPageBot ): # sets 'current_page' on each treat() """ self.gen = self.genFactory.getCombinedGenerator() + def redfam_talkpages_generator( self ): + """ + Wrappers the redfam.article_generator and + passes it to pagegenerators.PageWithTalkPageGenerator(). + Then it iterates over the generator and adds a reference to the + related redfam to each talkpage-object. + """ + + for redfam in self.redfams: + + # We need the talkpage (and only this) of each existing page + for talkpage in pagegenerators.PageWithTalkPageGenerator( + redfam.article_generator( filter_existing=True ), + return_talk_only=True ): + + # Add reference to redfam to talkpages + talkpage.redfam = redfam + + yield talkpage + def treat_page( self ): """ Handles work on current page