Source code for bigone.exceptions

# coding=utf-8


[docs]class BigoneAPIException(Exception): """Exception class to handle general API Exceptions `code` values `message` format """
[docs] def __init__(self, response): self.code = '' self.message = 'Unknown Error' try: json_res = response.json() except ValueError: print("Can't parse error response: {}".format(response.text)) self.message = response.text else: print("doing something with json_res: {}".format(json_res)) if 'msg' in json_res: self.message = json_res['msg'] self.code = json_res['code'] elif 'errors' in json_res: if type(json_res['errors']) == list: self.message = "\n ".join(["{}: {}".format(el['code'], el['message']) for el in json_res['errors']]) elif 'detail' in json_res['errors']: self.message = json_res['errors']['detail'] self.status_code = response.status_code self.response = response self.request = getattr(response, 'request', None)
def __str__(self): return 'BigoneAPIException {}: {}'.format(self.code, self.message)
[docs]class BigoneRequestException(Exception):
[docs] def __init__(self, message): self.message = message
def __str__(self): return 'BigoneRequestException: {}'.format(self.message)