jenkins-bot has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/816286 )

Change subject: [IMPR] Make GoogleSearchPageGenerator a abc.Generator
......................................................................

[IMPR] Make GoogleSearchPageGenerator a abc.Generator

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

Bug: T313681
Change-Id: I8a861aa5021e773253ee5fc463bf935c766845ae
---
M pywikibot/pagegenerators/_generators.py
1 file changed, 14 insertions(+), 7 deletions(-)

Approvals:
  Matěj Suchánek: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/pywikibot/pagegenerators/_generators.py 
b/pywikibot/pagegenerators/_generators.py
index f45ba45..c9f208e 100644
--- a/pywikibot/pagegenerators/_generators.py
+++ b/pywikibot/pagegenerators/_generators.py
@@ -31,6 +31,7 @@
 from pywikibot.comms import http
 from pywikibot.exceptions import APIError, ServerError
 from pywikibot.tools import deprecated
+from pywikibot.tools.collections import GeneratorWrapper
 from pywikibot.tools.itertools import filter_unique, itergroup


@@ -780,9 +781,8 @@
 # following classes just ported from version 1 without revision; not tested


-class GoogleSearchPageGenerator(Iterable['pywikibot.page.Page']):
-    """
-    Page generator using Google search results.
+class GoogleSearchPageGenerator(GeneratorWrapper):
+    """Page generator using Google search results.

     To use this generator, you need to install the package 'google':

@@ -793,6 +793,9 @@

     As there are concerns about Google's Terms of Service, this
     generator prints a warning for each query.
+
+    .. versionchanged:: 7.6
+       subclassed from :class:`pywikibot.tools.collections.GeneratorWrapper`
     """

     def __init__(self, query: Optional[str] = None,
@@ -834,11 +837,15 @@
         pywikibot.warning('Please read http://www.google.com/accounts/TOS')
         yield from google.search(query)

-    def __iter__(self):
-        """Iterate results.
+    @property
+    def generator(self) -> Iterator['pywikibot.page.Page']:
+        """Yield results from :meth:`queryGoogle` query.

         Google contains links in the format:
         https://de.wikipedia.org/wiki/en:Foobar
+
+        .. versionchanged:: 7.6
+           changed from iterator method to generator property
         """
         # restrict query to local site
         local_query = '{} site:{}'.format(self.query, self.site.hostname())
@@ -894,7 +901,7 @@


 class XMLDumpPageGenerator(abc.Iterator):  # type: ignore[type-arg]
-    """Xml generator that yields Page objects.
+    """Xml iterator that yields Page objects.

     .. versionadded:: 7.2
        the `content` parameter
@@ -955,7 +962,7 @@
 @deprecated('XMLDumpPageGenerator with content=True parameter', since='7.2.0')
 class XMLDumpOldPageGenerator(XMLDumpPageGenerator):

-    """Xml generator that yields Page objects with old text loaded.
+    """Xml iterator that yields Page objects with old text loaded.

     .. deprecated:: 7.2
        :class:`XMLDumpPageGenerator` with `content` parameter should be

--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/816286
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.wikimedia.org/r/settings

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I8a861aa5021e773253ee5fc463bf935c766845ae
Gerrit-Change-Number: 816286
Gerrit-PatchSet: 6
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Matěj Suchánek <[email protected]>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to