This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository python-x2go. commit 857f5f3bc560f99158181a7558a283cd0d681579 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Thu Apr 3 16:30:26 2014 +0200 Capture broker connection problems during selectsession calls to the broker via a HOOK method. --- debian/changelog | 2 ++ x2go/client.py | 21 ++++++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 3daea6a..c088159 100644 --- a/debian/changelog +++ b/debian/changelog @@ -20,6 +20,8 @@ python-x2go (0.5.0.0-0x2go1) UNRELEASED; urgency=low - Support cookie based authentication against a http(s) session broker. - On Windows: Improve debugging when a new X-Server port has to be allocated. + - Capture broker connection problems during selectsession calls to the + broker via a HOOK method. * debian/control: + Add dependencies: python-requests, python-simplejson. * python-x2go.spec: diff --git a/x2go/client.py b/x2go/client.py index 95fb444..428f352 100644 --- a/x2go/client.py +++ b/x2go/client.py @@ -383,6 +383,16 @@ class X2GoClient(object): """ self.logger('HOOK_profile_auto_connect: profile ,,%s'' wants to be auto-connected to the X2Go server.' % profile_name, loglevel=log.loglevel_WARN) + def HOOK_broker_connection_exception(self, profile_id='UNKNOWN'): + """\ + HOOK method: called if a session demands to auto connect the session profile. + + @param profile_id: profile ID of a session that triggered this hook method + @type profile_id: C{str} + + """ + self.logger('HOOK_profile_broker_connection_exception: a broker connection problem occurred triggered by an action on profile ,,%s''.' % self.session_profiles.to_profile_name(profile_id), loglevel=log.loglevel_WARN) + def HOOK_session_startup_failed(self, profile_name='UNKNOWN'): """\ HOOK method: called if the startup of a session failed. @@ -922,9 +932,14 @@ class X2GoClient(object): if k in kwargs.keys(): _params[k] = kwargs[k] - server = self.session_profiles.get_server_hostname(_profile_id) - _params['port'] = self.session_profiles.get_server_port(_profile_id) - _pkey = self.session_profiles.get_pkey_object(_profile_id) + _pkey = None + try: + server = self.session_profiles.get_server_hostname(_profile_id) + _params['port'] = self.session_profiles.get_server_port(_profile_id) + _pkey = self.session_profiles.get_pkey_object(_profile_id) + except x2go_exceptions.X2GoBrokerConnectionException: + self.HOOK_broker_connection_exception(_profile_id) + if _pkey is not None: self.logger('received PKey object for authentication, ignoring all other auth mechanisms', log.loglevel_NOTICE, tag=self._logger_tag) _params['pkey'] = _pkey -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git