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]