From 4efe1c066fb07eada97f3bf77babe85f80130db0 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Tue, 20 Apr 2021 18:56:44 +0000 Subject: [PATCH] rpc.py: minor error handling cleanup --- mmgen/rpc.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/mmgen/rpc.py b/mmgen/rpc.py index 01cb6a90..7b20a5c1 100755 --- a/mmgen/rpc.py +++ b/mmgen/rpc.py @@ -371,17 +371,23 @@ class RPCClient(MMGenObject): try: return json.loads(text,parse_float=Decimal,encoding='UTF-8')['result'] except: - raise RPCFailure(json.loads(text)['error']['message']) + t = json.loads(text) + try: + m = t['error']['message'] + except: + try: m = t['error'] + except: m = t + raise RPCFailure(m) else: import http - s = http.HTTPStatus(status) - m = '' + m,s = ( '', http.HTTPStatus(status) ) if text: - try: m = ': ' + json.loads(text)['error']['message'] + try: + m = json.loads(text)['error']['message'] except: - try: m = f': {text.decode()}' - except: m = f': {text}' - raise RPCFailure(f'{s.value} {s.name}{m}') + try: m = text.decode() + except: m = text + raise RPCFailure(f'{s.value} {s.name}: {m}') class BitcoinRPCClient(RPCClient,metaclass=aInitMeta):