From 5b3b2a961797a4c134dc31029bac81f5c116d58f Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Wed, 1 Aug 2018 12:29:20 +0530 Subject: [PATCH 1/2] Extract traceback from failed FrappeClient request and frappe.throw it --- frappe/frappeclient.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/frappe/frappeclient.py b/frappe/frappeclient.py index e323ffb7c6..ff98e7dbd7 100644 --- a/frappe/frappeclient.py +++ b/frappe/frappeclient.py @@ -286,7 +286,16 @@ class FrappeClient(object): raise if rjson and ("exc" in rjson) and rjson["exc"]: - raise FrappeException(rjson["exc"]) + exc = None + try: + exc = json.loads(rjson["exc"])[0] + except Exception: + pass + + if exc: + frappe.throw(exc, exc=FrappeException, title="FrappeClient request failed") + else: + raise FrappeException(rjson["exc"]) if 'message' in rjson: return rjson['message'] elif 'data' in rjson: From 3960f0a5f52a0d8fc7b99892fd8e6f96cc7fb23b Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Wed, 1 Aug 2018 12:39:37 +0530 Subject: [PATCH 2/2] Formatting --- frappe/frappeclient.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/frappe/frappeclient.py b/frappe/frappeclient.py index ff98e7dbd7..ccb47bd718 100644 --- a/frappe/frappeclient.py +++ b/frappe/frappeclient.py @@ -286,16 +286,13 @@ class FrappeClient(object): raise if rjson and ("exc" in rjson) and rjson["exc"]: - exc = None try: exc = json.loads(rjson["exc"])[0] + exc = 'FrappeClient Request Failed\n\n' + exc except Exception: - pass + exc = rjson["exc"] - if exc: - frappe.throw(exc, exc=FrappeException, title="FrappeClient request failed") - else: - raise FrappeException(rjson["exc"]) + raise FrappeException(exc) if 'message' in rjson: return rjson['message'] elif 'data' in rjson: