class OauthCodeError(Exception): def __init__(self, value, response_body, status_code): for prop_name in ('error', 'error_description', 'additional_error'): value = None if prop_name in response_body: value = response_body[prop_name] setattr(self, prop_name, value)