jenkins-bot has submitted this change and it was merged.
Change subject: pep8-ified pagegenerators.py
......................................................................
pep8-ified pagegenerators.py
Change-Id: I1e847c616eaab599672ffe2dda2861e7a6fcb867
---
M pywikibot/pagegenerators.py
1 file changed, 68 insertions(+), 54 deletions(-)
Approvals:
Ladsgroup: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/pagegenerators.py b/pywikibot/pagegenerators.py
index d07b9e0..c6e8c7d 100644
--- a/pywikibot/pagegenerators.py
+++ b/pywikibot/pagegenerators.py
@@ -27,7 +27,6 @@
from pywikibot import deprecate_arg, i18n
-
# ported from version 1 for backwards-compatibility
# most of these functions just wrap a Site or Page method that returns
# a generator
@@ -172,7 +171,6 @@
self.step = None
self.limit = None
-
def getCombinedGenerator(self):
"""Return the combination of all accumulated generators.
@@ -189,8 +187,7 @@
self.gens[i].set_maximum_items(self.limit)
else:
if self.namespaces:
- self.gens[i] = NamespaceFilterPageGenerator(
- self.gens[i], namespaces)
+ self.gens[i] = NamespaceFilterPageGenerator(self.gens[i],
namespaces)
if self.limit:
self.gens[i] = itertools.islice(self.gens[i], self.limit)
if len(self.gens) == 0:
@@ -217,8 +214,8 @@
defaultNamespace=14))
# Link constructor automatically prepends localized namespace
# if not included in user's input
- return CategorizedPageGenerator(cat,
- start=startfrom, recurse=recurse, content=content)
+ return CategorizedPageGenerator(cat, start=startfrom,
+ recurse=recurse, content=content)
def setSubCategoriesGen(self, arg, length, recurse=False, content=False):
if len(arg) == length:
@@ -235,8 +232,8 @@
cat = pywikibot.Category(pywikibot.Link(categoryname,
defaultNamespace=14))
- return SubCategoriesPageGenerator(cat,
- start=startfrom, recurse=recurse, content=content)
+ return SubCategoriesPageGenerator(cat, start=startfrom,
+ recurse=recurse, content=content)
def handleArg(self, arg):
"""Parse one argument at a time.
@@ -268,19 +265,19 @@
if len(arg) == 12:
gen = UnusedFilesGenerator()
else:
- gen = UnusedFilesGenerator(number = int(arg[13:]))
+ gen = UnusedFilesGenerator(number=int(arg[13:]))
elif arg.startswith('-unwatched'):
if len(arg) == 10:
gen = UnwatchedPagesPageGenerator()
else:
- gen = UnwatchedPagesPageGenerator(number = int(arg[11:]))
+ gen = UnwatchedPagesPageGenerator(number=int(arg[11:]))
elif arg.startswith('-usercontribs'):
gen = UserContributionsGenerator(arg[14:])
elif arg.startswith('-withoutinterwiki'):
if len(arg) == 17:
gen = WithoutInterwikiPageGenerator()
else:
- gen = WithoutInterwikiPageGenerator(number = int(arg[18:]))
+ gen = WithoutInterwikiPageGenerator(number=int(arg[18:]))
elif arg.startswith('-interwiki'):
title = arg[11:]
if not title:
@@ -327,23 +324,23 @@
self.limit = int(arg[len('-limit:'):])
return True
elif arg.startswith('-catr'):
- gen = self.getCategoryGen(arg, len('-catr'), recurse = True)
+ gen = self.getCategoryGen(arg, len('-catr'), recurse=True)
elif arg.startswith('-category'):
gen = self.getCategoryGen(arg, len('-category'))
elif arg.startswith('-cat'):
gen = self.getCategoryGen(arg, len('-cat'))
elif arg.startswith('-subcatsr'):
- gen = self.setSubCategoriesGen(arg, 9, recurse = True)
+ gen = self.setSubCategoriesGen(arg, 9, recurse=True)
elif arg.startswith('-subcats'):
gen = self.setSubCategoriesGen(arg, 8)
elif arg.startswith('-page'):
if len(arg) == len('-page'):
gen = [pywikibot.Page(
- pywikibot.Link(
- pywikibot.input(
- u'What page do you want to use?'),
- pywikibot.getSite())
- )]
+ pywikibot.Link(
+ pywikibot.input(
+ u'What page do you want to use?'),
+ pywikibot.getSite())
+ )]
else:
gen = [pywikibot.Page(pywikibot.Link(arg[len('-page:'):],
pywikibot.getSite())
@@ -382,9 +379,9 @@
transclusionPageTitle = pywikibot.input(
u'Pages that transclude which page should be processed?')
transclusionPage = pywikibot.Page(
- pywikibot.Link(transclusionPageTitle,
- defaultNamespace=10,
- source=pywikibot.Site()))
+ pywikibot.Link(transclusionPageTitle,
+ defaultNamespace=10,
+ source=pywikibot.Site()))
gen = ReferringPageGenerator(transclusionPage,
onlyTemplateInclusion=True)
elif arg.startswith('-start'):
@@ -411,9 +408,9 @@
gen = NewimagesPageGenerator(total=int(limit))
elif arg.startswith('-newpages'):
if len(arg) >= 10:
- gen = NewpagesPageGenerator(total=int(arg[10:]))
+ gen = NewpagesPageGenerator(total=int(arg[10:]))
else:
- gen = NewpagesPageGenerator(total=60)
+ gen = NewpagesPageGenerator(total=60)
elif arg.startswith('-imagesused'):
imagelinkstitle = arg[len('-imagesused:'):]
if not imagelinkstitle:
@@ -428,7 +425,7 @@
mediawikiQuery = pywikibot.input(
u'What do you want to search for?')
# In order to be useful, all namespaces are required
- gen = SearchPageGenerator(mediawikiQuery, namespaces = [])
+ gen = SearchPageGenerator(mediawikiQuery, namespaces=[])
elif arg.startswith('-google'):
gen = GoogleSearchPageGenerator(arg[8:])
elif arg.startswith('-titleregex'):
@@ -500,7 +497,7 @@
@deprecate_arg("namespace", "namespaces")
@deprecate_arg("repeat", None)
def NewpagesPageGenerator(get_redirect=False, repeat=False, site=None,
- namespaces=[0,], step=None, total=None):
+ namespaces=[0, ], step=None, total=None):
"""
Iterate Page objects for all new titles in a single namespace.
"""
@@ -582,10 +579,10 @@
step=None, total=None, content=False):
'''Yields all pages referring to a specific page.'''
return referredPage.getReferences(
- follow_redirects=followRedirects,
- withTemplateInclusion=withTemplateInclusion,
- onlyTemplateInclusion=onlyTemplateInclusion,
- step=step, total=total, content=content)
+ follow_redirects=followRedirects,
+ withTemplateInclusion=withTemplateInclusion,
+ onlyTemplateInclusion=onlyTemplateInclusion,
+ step=step, total=total, content=content)
def CategorizedPageGenerator(category, recurse=False, start=None,
@@ -612,6 +609,7 @@
for a in category.articles(**kwargs):
yield a
+
def SubCategoriesPageGenerator(category, recurse=False, start=None,
step=None, total=None, content=False):
"""Yield all subcategories in a specific category.
@@ -629,8 +627,8 @@
"""
# TODO: page generator could be modified to use cmstartsortkey ...
- for s in category.subcategories(
- recurse=recurse, step=step, total=total, content=content):
+ for s in category.subcategories(recurse=recurse, step=step,
+ total=total, content=content):
if start is None or s.title(withNamespace=False) >= start:
yield s
@@ -749,6 +747,7 @@
seenPages[page] = True
yield page
+
def RegexFilterPageGenerator(generator, regex):
"""Yield pages from another generator whose titles match
regex."""
reg = re.compile(regex, re.I)
@@ -842,11 +841,13 @@
extension=extension):
yield pywikibot.ImagePage(page.site, page.title())
+
def WithoutInterwikiPageGenerator(number=100, repeat=False, site=None):
if site is None:
site = pywikibot.Site()
for page in site.withoutinterwiki(number=number, repeat=repeat):
yield page
+
def UnCategorizedCategoryGenerator(number=100, repeat=False, site=None):
if site is None:
@@ -854,11 +855,13 @@
for page in site.uncategorizedcategories(number=number, repeat=repeat):
yield page
-def UnCategorizedImageGenerator(number = 100, repeat = False, site = None):
+
+def UnCategorizedImageGenerator(number=100, repeat=False, site=None):
if site is None:
site = pywikibot.Site()
for page in site.uncategorizedimages(number=number, repeat=repeat):
yield page
+
def UnCategorizedPageGenerator(number=100, repeat=False, site=None):
if site is None:
@@ -866,31 +869,36 @@
for page in site.uncategorizedpages(number=number, repeat=repeat):
yield page
-def LonelyPagesPageGenerator(number = 100, repeat = False, site = None):
+
+def LonelyPagesPageGenerator(number=100, repeat=False, site=None):
if site is None:
site = pywikibot.Site()
for page in site.lonelypages(number=number, repeat=repeat):
yield page
-def UnwatchedPagesPageGenerator(number = 100, repeat = False, site = None):
+
+def UnwatchedPagesPageGenerator(number=100, repeat=False, site=None):
if site is None:
site = pywikibot.Site()
for page in site.unwatchedpages(number=number, repeat=repeat):
yield page
-def AncientPagesPageGenerator(number = 100, repeat = False, site = None):
+
+def AncientPagesPageGenerator(number=100, repeat=False, site=None):
if site is None:
site = pywikibot.Site()
for page, date in site.ancientpages(number=number, repeat=repeat):
yield page
-def DeadendPagesPageGenerator(number = 100, repeat = False, site = None):
+
+def DeadendPagesPageGenerator(number=100, repeat=False, site=None):
if site is None:
site = pywikibot.Site()
for page in site.deadendpages(number=number, repeat=repeat):
yield page
-def LongPagesPageGenerator(number = 100, repeat = False, site = None):
+
+def LongPagesPageGenerator(number=100, repeat=False, site=None):
if site is None:
site = pywikibot.Site()
for page, length in site.longpages(number=number, repeat=repeat):
@@ -902,6 +910,7 @@
site = pywikibot.Site()
for page, length in site.shortpages(total=number, repeat=repeat):
yield page
+
def LinksearchPageGenerator(link, namespaces=None, step=None, total=None,
site=None):
@@ -915,6 +924,7 @@
total=total, content=False):
yield page
+
def SearchPageGenerator(query, step=None, total=None, namespaces=None, site=None):
"""
Provides a list of results using the internal MediaWiki search engine
@@ -926,11 +936,12 @@
# following classes just ported from version 1 without revision; not tested
+
class YahooSearchPageGenerator:
'''
To use this generator, install pYsearch
'''
- def __init__(self, query = None, count = 100, site = None): # values larger than 100
fail
+ def __init__(self, query=None, count=100, site=None): # values larger than 100 fail
self.query = query or pywikibot.input(u'Please enter the search query:')
self.count = count
if site is None:
@@ -938,14 +949,14 @@
self.site = site
def queryYahoo(self, query):
- from yahoo.search.web import WebSearch
- srch = WebSearch(config.yahoo_appid, query=query, results=self.count)
+ from yahoo.search.web import WebSearch
+ srch = WebSearch(config.yahoo_appid, query=query, results=self.count)
- dom = srch.get_results()
- results = srch.parse_results(dom)
- for res in results:
- url = res.Url
- yield url
+ dom = srch.get_results()
+ results = srch.parse_results(dom)
+ for res in results:
+ url = res.Url
+ yield url
def __iter__(self):
# restrict query to local site
@@ -958,6 +969,7 @@
page = pywikibot.Page(pywikibot.Link(title, pywikibot.Site()))
yield page
+
class GoogleSearchPageGenerator:
'''
To use this generator, you must install the pyGoogle module from
@@ -965,7 +977,7 @@
http://www.google.com/apis/index.html . The google_key must be set to your
license key in your configuration.
'''
- def __init__(self, query = None, site = None):
+ def __init__(self, query=None, site=None):
self.query = query or pywikibot.input(u'Please enter the search query:')
if site is None:
site = pywikibot.Site()
@@ -993,12 +1005,12 @@
offset = 0
estimatedTotalResultsCount = None
while not estimatedTotalResultsCount \
- or offset < estimatedTotalResultsCount:
+ or offset < estimatedTotalResultsCount:
while (True):
# Google often yields 502 errors.
try:
pywikibot.output(u'Querying Google, offset %i' % offset)
- data = google.doGoogleSearch(query, start = offset, filter = False)
+ data = google.doGoogleSearch(query, start=offset, filter=False)
break
except KeyboardInterrupt:
raise
@@ -1119,7 +1131,7 @@
yield page
-def YearPageGenerator(start = 1, end = 2050, site = None):
+def YearPageGenerator(start=1, end=2050, site=None):
if site is None:
site = pywikibot.Site()
pywikibot.output(u"Starting with year %i" % start)
@@ -1128,18 +1140,20 @@
pywikibot.output(u'Preparing %i...' % i)
# There is no year 0
if i != 0:
- current_year = date.formatYear(site.lang, i )
+ current_year = date.formatYear(site.lang, i)
yield pywikibot.Page(pywikibot.Link(current_year, site))
-def DayPageGenerator(startMonth = 1, endMonth = 12, site = None):
+
+def DayPageGenerator(startMonth=1, endMonth=12, site=None):
if site is None:
site = pywikibot.Site()
fd = date.FormatDate(site)
firstPage = pywikibot.Page(site, fd(startMonth, 1))
pywikibot.output(u"Starting with %s" % firstPage.title(asLink=True))
- for month in xrange(startMonth, endMonth+1):
- for day in xrange(1, date.getNumberOfDaysInMonth(month)+1):
+ for month in xrange(startMonth, endMonth + 1):
+ for day in xrange(1, date.getNumberOfDaysInMonth(month) + 1):
yield pywikibot.Page(pywikibot.Link(fd(month, day), site))
+
def main(*args):
try:
@@ -1161,5 +1175,5 @@
pywikibot.stopme()
-if __name__=="__main__":
+if __name__ == "__main__":
main()
--
To view, visit
https://gerrit.wikimedia.org/r/80771
To unsubscribe, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I1e847c616eaab599672ffe2dda2861e7a6fcb867
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Merlijn van Deen <valhallasw(a)arctus.nl>
Gerrit-Reviewer: Ladsgroup <ladsgroup(a)gmail.com>
Gerrit-Reviewer: Legoktm <legoktm.wikipedia(a)gmail.com>
Gerrit-Reviewer: jenkins-bot