From 860fefd2e0c597cda4cac062a8dcfdaf5f076032 Mon Sep 17 00:00:00 2001 From: logvinenko_da Date: Thu, 13 Sep 2018 14:16:36 +0300 Subject: [PATCH] issue #211 Add exception handling for a `session()` and restore original engine if it fails --- __init__.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/__init__.py b/__init__.py index cc7e3b6..8754e66 100644 --- a/__init__.py +++ b/__init__.py @@ -76,8 +76,12 @@ def session(self, **options): engine = self.engine self.engine = engine.__class__( requests=utilities.merge_dicts(engine.requests, options.pop('requests', {})), **options) - yield self - self.engine = engine + try: + yield self + except exceptions.BaseRedmineError as e: + raise e + finally: + self.engine = engine def upload(self, f): """