import re from grapheneapi.graphenewsrpc import RPCError def decodeRPCErrorMsg(e): """ Helper function to decode the raised Exception and give it a python Exception class """ found = re.search( ( "(10 assert_exception: Assert Exception\n|" "3030000 tx_missing_posting_auth)" ".*: (.*)\n" ), str(e), flags=re.M) if found: return found.group(2).strip() else: return str(e) class MissingRequiredActiveAuthority(RPCError): pass class NoMethodWithName(RPCError): pass class UnhandledRPCError(RPCError): pass class NumRetriesReached(Exception): pass