Skip to content

Commit

Permalink
Merge pull request #30 from initios/feature/errors
Browse files Browse the repository at this point in the history
Feature/errors
  • Loading branch information
carlosgoce committed Jan 17, 2018
2 parents 63f5b2b + 30a8110 commit 7991eb8
Showing 1 changed file with 20 additions and 11 deletions.
31 changes: 20 additions & 11 deletions src/aeat/__init__.py
Expand Up @@ -33,11 +33,23 @@ def __str__(self):


class Result:
def __init__(self, data, error, raw_request=None, raw_response=None):
default_context = {
'raw_request': None,
'raw_response': None,
'exception': None,
}

def __init__(self, data, error, context=None):
self.context = context or {}

for k, v in self.default_context.items():
self.context[k] = self.context.get(k, v)

self.data = data
self.error = error
self.raw_request = raw_request
self.raw_response = raw_response

def __getattr__(self, name):
return self.context[name]

@property
def valid(self):
Expand Down Expand Up @@ -92,21 +104,18 @@ def request(self, payload):
data = self.operation(**payload)
except zeep_exceptions.Fault as e:
logger.info('AEAT request failed.', exc_info=True)
result = Result(None, e.message)
result.raw_response = e.message
result = Result(None, e.message, context={'exception': e.message})
except zeep_exceptions.Error as e:
logger.info('AEAT request failed.', exc_info=True)
result = Result(None, 'Wrong AEAT response')
result.raw_response = e.message
result = Result(None, 'Wrong AEAT response', context={'exception': e.message})
except Exception as e:
logger.critical('Unexpected exception', exc_info=True)
result = Result(None, 'Unknown error')
result.raw_response = e.message if hasattr(e, 'message') else str(e)
result = Result(None, 'Unknown error', context={'exception': str(e)})
else:
result = Result(data, None)

if self.raw_xml_plugin:
result.raw_request = self.raw_xml_plugin.last_sent
result.raw_response = self.raw_xml_plugin.last_received
result.context['raw_request'] = self.raw_xml_plugin.last_sent
result.context['raw_response'] = self.raw_xml_plugin.last_received

return result

0 comments on commit 7991eb8

Please sign in to comment.