diff --git a/.gitignore b/.gitignore index ebdc836..56ae2fe 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ *.egg-info *.DS_Store *tests/s3/ +*build +*dist diff --git a/pytoad/decorator.py b/pytoad/decorator.py index 24b02f6..fcaf8ee 100644 --- a/pytoad/decorator.py +++ b/pytoad/decorator.py @@ -4,7 +4,7 @@ def pytoad_decorator(monitored_exceptions=[], PytoadConnectionClass=Connection): def wrap(f): def wrapped_f(*args, **kwargs): try: - f(*args, **kwargs) + return f(*args, **kwargs) except Exception, e: if e.__class__ in monitored_exceptions or not monitored_exceptions: connection = PytoadConnectionClass() diff --git a/setup.py b/setup.py index 83e38a6..dbfa046 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ from setuptools import setup, find_packages setup(name="Pytoad", - version="1.0.2", + version="1.0.3", description="Pytoad is a lightweight Hoptoad notifier for Python.", author="Benjamin Coe", author_email="ben@attachments.me", diff --git a/tests/test_decorator.py b/tests/test_decorator.py index a7f09cb..f8fb938 100644 --- a/tests/test_decorator.py +++ b/tests/test_decorator.py @@ -22,6 +22,16 @@ def foobar(): foobar() self.assertTrue( MockPytoadConnection.exceptions ) + + def test_decorated_functions_return(self): + + MockPytoadConnection.exceptions = [] + + @pytoad_decorator(PytoadConnectionClass=MockPytoadConnection) + def foobar(): + return 'foobar' + + self.assertEqual( foobar(), 'foobar' ) def test_decorator_catches_only_monitored_exceptions_if_provided(self):