jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/800891 )
Change subject: [IMPR] Make BaseBot._generator_completed a public attribute ......................................................................
[IMPR] Make BaseBot._generator_completed a public attribute
generator_completed can be used inside scripts e.g. in teardown method.
- rename _generator_completed to generator_completed - update category.py - add documtentation and an example for this attribute
Change-Id: I48eac33feab0d24cadfa30de6250631ba3dd74cb --- M pywikibot/bot.py M scripts/category.py 2 files changed, 16 insertions(+), 4 deletions(-)
Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
diff --git a/pywikibot/bot.py b/pywikibot/bot.py index 70e845d..ebe226b 100644 --- a/pywikibot/bot.py +++ b/pywikibot/bot.py @@ -1279,7 +1279,7 @@ else: #: instance variable to hold the generator processed by #: :meth:`run` method - self.generator = kwargs.pop('generator') + self.generator = kwargs.pop('generator') # type: Iterable
self.available_options.update(self.update_options) super().__init__(**kwargs) @@ -1295,7 +1295,19 @@ Your additional counters are also printed during :meth:`exit` """
- self._generator_completed = False + self.generator_completed = False # type: bool + """Instance attribute which is True if the generator is completed. + + To check for an empty generator you may use:: + + if self.generator_completed and not self.counter['read']: + print('generator was emtpty') + + .. note:: An empty generator remains False. + .. versionadded:: 3.0 + .. versionchanged:: 7.4 + renamed to `generator_completed` to become a public attribute. + """
#: instance variable to hold the default page type self.treat_page_type = pywikibot.page.BasePage # type: Any @@ -1643,7 +1655,7 @@ self.counter['read'] += 1 self.treat(page)
- self._generator_completed = True + self.generator_completed = True except QuitKeyboardInterrupt: pywikibot.output('\nUser quit {} bot run...' .format(self.__class__.__name__)) diff --git a/scripts/category.py b/scripts/category.py index 8db8a1d..360c779 100755 --- a/scripts/category.py +++ b/scripts/category.py @@ -1240,7 +1240,7 @@
def teardown(self) -> None: """Cleanups after run operation.""" - if self._generator_completed and not self.counter['read']: + if self.generator_completed and not self.counter['read']: pywikibot.output('There are no pages or files in category {}.' .format(self.cat_title))
pywikibot-commits@lists.wikimedia.org