Ricordisamoa has uploaded a new change for review.
https://gerrit.wikimedia.org/r/135407
Change subject: port PageTitleFilterPageGenerator from compat
......................................................................
port PageTitleFilterPageGenerator from compat
bug: 55007
Change-Id: I3ff0bebff3e4bfc62fde290811d8d6504532e9c0
---
M pywikibot/pagegenerators.py
1 file changed, 28 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core
refs/changes/07/135407/1
diff --git a/pywikibot/pagegenerators.py b/pywikibot/pagegenerators.py
index 87472d0..d6c5679 100644
--- a/pywikibot/pagegenerators.py
+++ b/pywikibot/pagegenerators.py
@@ -818,6 +818,34 @@
yield page
+def PageTitleFilterPageGenerator(generator, ignoreList):
+ """
+ Wraps around another generator. Yields only those pages are not
+ listed in the ignore list.
+
+ @param ignoreList: family names are mapped to dictionaries
+ in which language codes are mapped to lists of page titles
+ @type ignoreList: dict
+
+ """
+ def isIgnored(page):
+ if not (page.site.family.name in ignoreList and
+ page.site.lang in ignoreList[page.site.family.name]):
+ return False
+
+ for ig in ignoreList[page.site.family.name][page.site.lang]:
+ if re.match(ig, page.title()):
+ return True
+ return False
+
+ for page in generator:
+ if isIgnored(page):
+ if pywikibot.verbose:
+ pywikibot.output('Ignoring page %s' % page.title())
+ else:
+ yield page
+
+
def RedirectFilterPageGenerator(generator, no_redirects=True):
"""Yields pages from another generator that are redirects or not."""
for page in generator:
--
To view, visit https://gerrit.wikimedia.org/r/135407
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3ff0bebff3e4bfc62fde290811d8d6504532e9c0
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Ricordisamoa <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits