jenkins-bot submitted this change.

View Change

Approvals: Matěj Suchánek: Looks good to me, approved jenkins-bot: Verified
[IMPR] Make PetScanPageGenerator an abc.Generator

- Derive PetScanPageGenerator from tools.collections.GeneratorWrapper
- rename the __iter__ method to the generator property to be reused by
the Wrapper class

Bug: T313683
Change-Id: I18c27764e90e91bc4f4d2452593f4058479bb1aa
---
M pywikibot/pagegenerators/_generators.py
1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/pywikibot/pagegenerators/_generators.py b/pywikibot/pagegenerators/_generators.py
index c9f208e..c290531 100644
--- a/pywikibot/pagegenerators/_generators.py
+++ b/pywikibot/pagegenerators/_generators.py
@@ -1100,11 +1100,13 @@
return (pywikibot.ItemPage(repo, item['id']) for item in data)


-class PetScanPageGenerator:
+class PetScanPageGenerator(GeneratorWrapper):
"""Queries PetScan to generate pages.

.. seealso:: https://petscan.wmflabs.org/
.. versionadded:: 3.0
+ .. versionchanged:: 7.6
+ subclassed from :class:`pywikibot.tools.collections.GeneratorWrapper`
"""

def __init__(self, categories: Sequence[str],
@@ -1194,7 +1196,13 @@
raw_pages = data['*'][0]['a']['*']
yield from raw_pages

- def __iter__(self) -> Iterator['pywikibot.page.Page']:
+ @property
+ def generator(self) -> Iterator['pywikibot.page.Page']:
+ """Yield results from :meth:`query`.
+
+ .. versionchanged:: 7.6
+ changed from iterator method to generator property
+ """
for raw_page in self.query():
page = pywikibot.Page(self.site, raw_page['title'],
int(raw_page['namespace']))

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

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I18c27764e90e91bc4f4d2452593f4058479bb1aa
Gerrit-Change-Number: 816290
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info@gno.de>
Gerrit-Reviewer: Matěj Suchánek <matejsuchanek97@gmail.com>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged