From b9540f0b6774701da609d3fa6f9936bd4de0fb23 Mon Sep 17 00:00:00 2001 From: okhin Date: Wed, 19 Apr 2017 14:25:26 +0200 Subject: [PATCH] Raise eception in the event_handler too --- piphone.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/piphone.py b/piphone.py index 2d27065..1d54616 100644 --- a/piphone.py +++ b/piphone.py @@ -266,7 +266,10 @@ class Call(object): ''' state = event['type'] if state in self.actions: - getattr(self, self.actions[state])(event=event) + try: + getattr(self, self.actions[state])(event=event) + except Exception as e: + raise e def hangup(self, event): ''' @@ -319,6 +322,10 @@ class Call(object): channel.originate(endpoint) except AssertionError as e: phone_logger.error("Received a DTMF sequence out le being in a '{}' state, ignoring: {}".format(self.state, event['digit'])) + raise e + except ValueError as e: + phone_logger.error("Incorrect number: {}".format(e.message,)) + raise e def change(self, event): ''' @@ -389,7 +396,6 @@ class Call(object): self.db.commit() except Exception as e: bottle_logger.exception(e) - phone_logger.exception(e) raise e def start(db): @@ -466,6 +472,9 @@ def originate(db, callid=None): , 'user': request.params['api'] , 'hits': 1} return {'header': head, 'data': call} + except ValueError as e: + bottle_logger.exception(e) + abort(403, "Your phone number isnt' authorized to use the piphone") except Exception as e: bottle_logger.debug("Missing params : {}".format([p for p in request.params],)) bottle_logger.exception(e) -- GitLab