Skip to content

Commit

Permalink
Merge pull request #6 from cidrblock/restructure
Browse files Browse the repository at this point in the history
Catch type error
  • Loading branch information
Bradley A. Thornton authored Dec 4, 2017
2 parents 86b4d71 + 155f8b1 commit 3244a09
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions td4a/models/exception_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ def __init__(self, function):
"ruamel.yaml.constructor.ConstructorError": self.constructor_error,
"ruamel.yaml.constructor.DuplicateKeyError": self.duplicate_key_error,
"ruamel.yaml.scanner.ScannerError": self.scanner_error,
"jinja2.exceptions": self.jinja_error
"jinja2.exceptions": self.jinja_error,
"TypeError": self.type_error
}

def __call__(self, *args, **kwargs):
Expand All @@ -39,7 +40,7 @@ def __call__(self, *args, **kwargs):
if error_module:
full_error = "%s.%s" % (error.__module__, self.exc_type.__name__)
else:
full_error = None
full_error = self.exc_type.__name__
handler = self.error_map.get(full_error,
self.error_map.get(error_module,
self.unhandled))
Expand Down Expand Up @@ -96,8 +97,15 @@ def requests_error(self):
return self.error_response(message=message,
line_number=None)

def type_error(self):
message = str(self.error)
line_number = next(x for x in self.tback if re.search('^<.*>$', x[0]))[1]
return self.error_response(message=message,
line_number=line_number)

def unhandled(self):
print self.exc_type, self.exc_value, self.exc_traceback, self.tback
line_number = next(x for x in self.tback if re.search('^<.*>$', x[0]))[1]
message = "Please see the console for details. %s" % str(self.error)
return self.error_response(message=message,
line_number=None)
line_number=line_number)

0 comments on commit 3244a09

Please sign in to comment.