Matěj Suchánek has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/341143 )
Change subject: Fix ItemClaimFilterPageGenerator
......................................................................
Fix ItemClaimFilterPageGenerator
If negate argument is provided, the if clause is always false and kills
the generator.
Change-Id: I2de6036ab3fc4295990472531b5b68f618ce7644
---
M pywikibot/pagegenerators.py
M tests/pagegenerators_tests.py
2 files changed, 9 insertions(+), 4 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core
refs/changes/43/341143/2
diff --git a/pywikibot/pagegenerators.py b/pywikibot/pagegenerators.py
index 29ddced..06fa7de 100644
--- a/pywikibot/pagegenerators.py
+++ b/pywikibot/pagegenerators.py
@@ -1537,7 +1537,7 @@
@type negate: bool
"""
for page in generator:
- if cls.__filter_match(page, prop, claim, qualifiers) and not
negate:
+ if cls.__filter_match(page, prop, claim, qualifiers) is not negate:
yield page
diff --git a/tests/pagegenerators_tests.py b/tests/pagegenerators_tests.py
index 133caf8..7d8a96c 100755
--- a/tests/pagegenerators_tests.py
+++ b/tests/pagegenerators_tests.py
@@ -666,7 +666,7 @@
"""Test item claim filter page generator generator."""
- def _simple_claim_test(self, prop, claim, qualifiers, valid):
+ def _simple_claim_test(self, prop, claim, qualifiers, valid, negate=False):
"""
Test given claim on sample (India) page.
@@ -680,8 +680,8 @@
@type valid: bool
"""
item = pywikibot.ItemPage(self.get_repo(), 'Q668')
- gen = pagegenerators.ItemClaimFilterPageGenerator([item], prop,
- claim, qualifiers)
+ gen = pagegenerators.ItemClaimFilterPageGenerator([item], prop, claim,
+ qualifiers, negate)
pages = set(gen)
self.assertEqual(len(pages), 1 if valid else 0)
@@ -732,6 +732,11 @@
self._simple_claim_test('P625', '21,77', None, True)
self._simple_claim_test('P625', '21,78.05,0.01', None, False)
+ def test_negative_filter(self):
+ """Test negative ItemClaimFilterPageGenerator."""
+ self._simple_claim_test('P463', 'Q37470', None, False, False)
+ self._simple_claim_test('P463', 'Q37471', None, True, False)
+
class TestFactoryGenerator(DefaultSiteTestCase):
--
To view, visit https://gerrit.wikimedia.org/r/341143
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2de6036ab3fc4295990472531b5b68f618ce7644
Gerrit-PatchSet: 2
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Matěj Suchánek <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits