jenkins-bot has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/812560 )

Change subject: [IMPR] Show additional parser error messages with 
DataSite.parsevalue()
......................................................................

[IMPR] Show additional parser error messages with DataSite.parsevalue()

Change-Id: I3c5897d16670fad62bfdc6711cbb1be3b1ce217b
---
M pywikibot/site/_datasite.py
1 file changed, 12 insertions(+), 5 deletions(-)

Approvals:
  Matěj Suchánek: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/pywikibot/site/_datasite.py b/pywikibot/site/_datasite.py
index 62b9307..3b16ac1 100644
--- a/pywikibot/site/_datasite.py
+++ b/pywikibot/site/_datasite.py
@@ -745,18 +745,25 @@
         try:
             data = req.submit()
         except APIError as e:
-            if e.code == 'wikibase-parse-error-quantity':
+            if e.code.startswith('wikibase-parse-error'):
+                for err in e.other['results']:
+                    if 'error' in err:
+                        pywikibot.error('{error-info} for value {raw!r}, '
+                                        '{expected-format!r} format expected'
+                                        .format_map(err))
                 raise ValueError(e) from None
             raise
+
         if 'results' not in data:
-            raise ValueError('Parsing via wikibase wbparsevalue failed.')
+            raise RuntimeError("Unexpected missing 'results' in query data\n{}"
+                               .format(data))

         results = []
         for result_hash in data['results']:
             if 'value' not in result_hash:
-                raise ValueError(
-                    'Parsing via wikibase wbparsevalue failed: {}'
-                    .format(result_hash['error-info']))
+                # There should be an APIError occurred already
+                raise RuntimeError("Unexpected missing 'value' in query data:"
+                                   '\n{}'.format(result_hash))
             results.append(result_hash['value'])
         return results


--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/812560
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.wikimedia.org/r/settings

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I3c5897d16670fad62bfdc6711cbb1be3b1ce217b
Gerrit-Change-Number: 812560
Gerrit-PatchSet: 4
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Matěj Suchánek <[email protected]>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to