jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/376278 )
Change subject: [Bugfix] Deal with fake entities in ItemClaimFilter ......................................................................
[Bugfix] Deal with fake entities in ItemClaimFilter
Bug: T175151 Change-Id: Ib1b949a2c884b8e76be5c9607066917feddbece5 --- M pywikibot/pagegenerators.py 1 file changed, 17 insertions(+), 4 deletions(-)
Approvals: Dalba: Looks good to me, but someone else must approve jenkins-bot: Verified Xqt: Looks good to me, approved
diff --git a/pywikibot/pagegenerators.py b/pywikibot/pagegenerators.py index f4cddd9..1216f84 100644 --- a/pywikibot/pagegenerators.py +++ b/pywikibot/pagegenerators.py @@ -1577,10 +1577,23 @@ @rtype: bool """ if not isinstance(page, pywikibot.page.WikibasePage): - try: - page = pywikibot.ItemPage.fromPage(page) - except pywikibot.NoPage: - return False + if isinstance(page.site, pywikibot.site.DataSite): # T175151 + on_repo = page.namespace() in ( + page.site.item_namespace, page.site.property_namespace) + else: + on_repo = False + if on_repo: + if page.namespace() == page.site.property_namespace: + cls = pywikibot.PropertyPage + else: + cls = pywikibot.ItemPage + page = cls(page.site, page.title(withNamespace=False)) + else: + try: + page = pywikibot.ItemPage.fromPage(page) + except pywikibot.NoPage: + return False + for page_claim in page.get()['claims'].get(prop, []): if page_claim.target_equals(claim): if not qualifiers:
pywikibot-commits@lists.wikimedia.org