https://bugzilla.wikimedia.org/show_bug.cgi?id=62261
Bug ID: 62261 Summary: Throw specific error instead of generic APIError if claim target is deleted Product: Pywikibot Version: core (2.0) Hardware: All OS: All Status: NEW Severity: minor Priority: Unprioritized Component: Wikidata Assignee: Pywikipedia-bugs@lists.wikimedia.org Reporter: felix@fex-it.de Web browser: --- Mobile Platform: ---
If adding a claim, two types of errors are thrown in case of a deleted item:
item = pywikibot.ItemPage(repo, "Q726") target = pywikibot.ItemPage(repo, "Q14854094") c = pywikibot.Claim(repo, u'P171') c.addTarget(target) item.addClaim(c) # Error if item or target were deleted
At the last line, you get either
pywikibot.exceptions.NoPage: Page [[wikidata:-1]] doesn't exist.
if item (Q726) has been deleted or
pywikibot.data.api.APIError: invalid-snak-value: Q14854094 not found
if the target (Q14854094) has been deleted.
It would be great, if for the latter a specific "InvalidValueError" or similar would be thrown. Then, the error could be caught and handled specifically without the need to parse the (possibly changing) API error message itself.
https://bugzilla.wikimedia.org/show_bug.cgi?id=62261
John Mark Vandenberg jayvdb@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Priority|Unprioritized |High CC| |jayvdb@gmail.com Blocks| |70936 Assignee|Pywikipedia-bugs@lists.wiki |jayvdb@gmail.com |media.org |
pywikipedia-bugs@lists.wikimedia.org