summaryrefslogtreecommitdiff
path: root/service/pixelated/config/leap.py
diff options
context:
space:
mode:
authorOla Bini <ola@olabini.se>2017-01-20 15:20:51 -0200
committerOla Bini <ola@olabini.se>2017-01-20 15:20:51 -0200
commitc427efc53d2f373e5a149f4d2a4118ab9a85a15b (patch)
treecbb45f90617825584d8b71531c5976e28ba5addf /service/pixelated/config/leap.py
parentb47fa1461c3dd919a193337afb035c14695cb900 (diff)
Rebase previous PR on current master - see PR #915 for details
Diffstat (limited to 'service/pixelated/config/leap.py')
-rw-r--r--service/pixelated/config/leap.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/service/pixelated/config/leap.py b/service/pixelated/config/leap.py
index 6b9ebf28..52a70f3e 100644
--- a/service/pixelated/config/leap.py
+++ b/service/pixelated/config/leap.py
@@ -90,9 +90,16 @@ class BootstrapUserServices(object):
@defer.inlineCallbacks
def setup(self, user_auth, password, language='pt-BR'):
- leap_session = yield create_leap_session(self._provider, user_auth.username, password, user_auth)
- yield self._setup_user_services(leap_session)
- yield self._add_welcome_email(leap_session, language)
+ leap_session = None
+ try:
+ leap_session = yield create_leap_session(self._provider, user_auth.username, password, user_auth)
+ yield self._setup_user_services(leap_session)
+ yield self._add_welcome_email(leap_session, language)
+ except Exception as e:
+ log.warn('{0}: {1}. Closing session for user: {2}'.format(e.__class__.__name__, e, user_auth.username))
+ if leap_session:
+ leap_session.close()
+ raise e
@defer.inlineCallbacks
def _setup_user_services(self, leap_session):