jenkins-bot has submitted this change and it was merged.
Change subject: page.py: Raise NoPage in WikibasePage.get if the entity does not exist
......................................................................
page.py: Raise NoPage in WikibasePage.get if the entity does not exist
The test "test_item_never_existed" in "wikibase_tests.py" was failing
because WikibasePage.get was raising APIError instead.
Change-Id: Ie36e0b6f9898ab7eb3c74ae81ba99ee7a5880ef6
---
M pywikibot/page.py
1 file changed, 8 insertions(+), 2 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/page.py b/pywikibot/page.py
index 61fb71a..06be97f 100644
--- a/pywikibot/page.py
+++ b/pywikibot/page.py
@@ -63,6 +63,7 @@
SiteDefinitionError,
UserRightsError,
)
+from pywikibot.data.api import APIError
from pywikibot.family import Family
from pywikibot.site import Namespace, need_version
from pywikibot.tools import (
@@ -3182,7 +3183,7 @@
try:
self.site.blockuser(self, expiry, reason, anononly, nocreate,
autoblock, noemail, reblock)
- except pywikibot.data.api.APIError as err:
+ except APIError as err:
if err.code == 'invalidrange':
raise ValueError("%s is not a valid IP range." %
self.username)
else:
@@ -3492,7 +3493,12 @@
if not identification:
raise pywikibot.NoPage(self)
- data = self.repo.loadcontent(identification)
+ try:
+ data = self.repo.loadcontent(identification)
+ except APIError as err:
+ if err.code == 'no-such-entity':
+ raise pywikibot.NoPage(self)
+ raise
item_index = list(data.keys())[0]
if lazy_loading_id or item_index != '-1':
self.id = item_index
--
To view, visit
https://gerrit.wikimedia.org/r/321842
To unsubscribe, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ie36e0b6f9898ab7eb3c74ae81ba99ee7a5880ef6
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Dalba <dalba.wiki(a)gmail.com>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot <>