[X2Go-Commits] python-x2go.git - brokerclient (branch) updated: 0.1.0.3-16-ga93a351
X2Go dev team
git-admin at x2go.org
Tue Jan 7 16:20:41 CET 2014
The branch, brokerclient has been updated
via a93a3515718f8308feff5a704bfded92df932e1f (commit)
from 116df2c20b8f779dacec59d7b389911c9f053c70 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
debian/changelog | 1 +
x2go/registry.py | 19 +++++++++++--------
x2go/session.py | 25 +++++++++++++++++++++++--
3 files changed, 35 insertions(+), 10 deletions(-)
The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 28d517c..2ff1b74 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,7 @@ python-x2go (0.1.1.0-0~x2go1) UNRELEASED; urgency=low
- Fix SSH authentication failures (close session on failure).
- Close SSH connection first, then close down SSH proxy.
- Make sure SSH proxy password gets forgotten between two sessions.
+ - Add X2goSession status property ,,faulty''.
-- Mike Gabriel <mike at mimino.das-netzwerkteam.de> Mon, 20 Jun 2011 14:16:54 +0200
diff --git a/x2go/registry.py b/x2go/registry.py
index 3dec99a..e2665d7 100644
--- a/x2go/registry.py
+++ b/x2go/registry.py
@@ -106,7 +106,10 @@ class X2goSessionRegistry(object):
@rtype: L{X2goSession} instance
"""
- return self.registry[session_uuid]
+ try:
+ return self.registry[session_uuid]
+ except KeyError:
+ raise X2goSessionException('No session found for UUID %s' % session_uuid)
def get_profile_id(self, session_uuid):
"""\
@@ -231,7 +234,7 @@ class X2goSessionRegistry(object):
if len(self.virgin_sessions_of_profile_name(profile_name)) > 1:
del self.registry[_session_uuid]
- elif _last_status['running'] == False and _current_status['running'] == True:
+ elif _last_status['running'] == False and _current_status['running'] == True and not _current_status['faulty']:
# session has started
if _last_status['connected']:
if self(_session_uuid).has_terminal_session():
@@ -252,11 +255,11 @@ class X2goSessionRegistry(object):
# from a suspended state
self.client_instance.HOOK_on_found_session_running_after_connect(session_uuid=_session_uuid, profile_name=_profile_name, session_name=_session_name)
- elif _last_status['connected'] == True and (_last_status['suspended'] == False and _current_status['suspended'] == True):
+ elif _last_status['connected'] == True and (_last_status['suspended'] == False and _current_status['suspended'] == True) and not _current_status['faulty']:
# session has been suspended
self(_session_uuid).session_cleanup()
self.client_instance.HOOK_on_session_has_been_suspended(session_uuid=_session_uuid, profile_name=_profile_name, session_name=_session_name)
- elif _last_status['connected'] == True and (_last_status['terminated'] == False and _current_status['terminated'] == True):
+ elif _last_status['connected'] == True and (_last_status['terminated'] == False and _current_status['terminated'] == True) and not _current_status['faulty']:
# session has terminated
self.client_instance.HOOK_on_session_has_terminated(session_uuid=_session_uuid, profile_name=_profile_name, session_name=_session_name)
self(_session_uuid).session_cleanup()
@@ -288,7 +291,7 @@ class X2goSessionRegistry(object):
# make sure the session registry gets updated before registering new session
# (if the server name has changed, this will kick out obsolete X2goSessions)
- self.update_status(profile_name=profile_name, session_list=session_list, force_update=True)
+ self.update_status(profile_name=profile_name, session_list=session_list)
for session_name in session_list.keys():
if session_name not in _session_names:
server = _ctrl_session.get_server_hostname()
@@ -326,7 +329,7 @@ class X2goSessionRegistry(object):
**kwargs
)
self(session_uuid).connected = True
- self.update_status(profile_name=profile_name, session_list=session_list, force_update=True)
+ self.update_status(session_uuid=session_uuid, session_list=session_list, force_update=True)
def register(self, server, profile_id, profile_name,
session_name=None,
@@ -399,7 +402,7 @@ class X2goSessionRegistry(object):
self(session_uuid).update_params(_params)
self(session_uuid).set_server(server)
self(session_uuid).set_profile_name(profile_name)
- self.logger('using already initially-registered yet-unused session %s' % session_uuid, log.loglevel_NOTICE)
+ self.logger('using already initially-registered yet-unused session %s' % session_uuid, loglevel=log.loglevel_NOTICE)
return session_uuid
try:
@@ -409,7 +412,7 @@ class X2goSessionRegistry(object):
self(session_uuid).update_params(_params)
self(session_uuid).set_server(server)
self(session_uuid).set_profile_name(profile_name)
- self.logger('using already registered-by-session-name session %s' % session_uuid, log.loglevel_NOTICE)
+ self.logger('using already registered-by-session-name session %s' % session_uuid, loglevel=log.loglevel_NOTICE)
return session_uuid
except X2goSessionException:
diff --git a/x2go/session.py b/x2go/session.py
index 4420ed2..7278e34 100644
--- a/x2go/session.py
+++ b/x2go/session.py
@@ -114,7 +114,7 @@ class X2goSession(object):
add_to_known_hosts=False,
known_hosts=None,
logger=None, loglevel=log.loglevel_DEFAULT,
- virgin=True, running=None, suspended=None, terminated=None,
+ virgin=True, running=None, suspended=None, terminated=None, faulty=None,
client_instance=None,
**params):
"""\
@@ -176,6 +176,8 @@ class X2goSession(object):
@type suspended: C{bool}
@param terminated: manipulate session state »terminated« by giving a pre-set value
@type terminated: C{bool}
+ @param faulty: manipulate session state »faulty« by giving a pre-set value
+ @type faulty: C{bool}
@param client_instance: if available, the underlying L{X2goClient} instance
@type client_instance: C{X2goClient} instance
@param params: further control session, terminal session and SSH proxy class options
@@ -197,6 +199,7 @@ class X2goSession(object):
self.running = running
self.suspended = suspended
self.terminated = terminated
+ self.faulty = faulty
self.keep_controlsession_alive = keep_controlsession_alive
self.profile_id = profile_id
@@ -212,6 +215,7 @@ class X2goSession(object):
'running': self.running,
'suspended': self.suspended,
'terminated': self.terminated,
+ 'faulty': self.faulty,
}
self._last_status = None
@@ -286,6 +290,9 @@ class X2goSession(object):
@type chain_port: C{str}
"""
+ # mark session as faulty
+ self.faulty = True
+
if self.client_instance:
self.client_instance.HOOK_forwarding_tunnel_setup_failed(profile_name=self.profile_name, session_name=self.session_name, chain_host=chain_host, chain_port=chain_port)
else:
@@ -391,6 +398,7 @@ class X2goSession(object):
'running': self.running,
'suspended': self.suspended,
'terminated': self.terminated,
+ 'faulty': self.faulty,
}
self._last_status = None
self.session_name = None
@@ -729,6 +737,7 @@ class X2goSession(object):
self.running = None
self.suspended = None
self.terminated = None
+ self.faults = None
retval = self.control_session.disconnect()
try:
self.update_status()
@@ -861,6 +870,7 @@ class X2goSession(object):
self.running = None
self.suspended = None
self.terminated = None
+ self.faulty = None
if self.connected:
try:
@@ -886,9 +896,10 @@ class X2goSession(object):
'running': self.running,
'suspended': self.suspended,
'terminated': self.terminated,
+ 'faulty': self.faulty,
}
- if not self.connected and e:
+ if (not self.connected or self.faulty) and e:
raise e
__update_status = update_status
@@ -953,6 +964,7 @@ class X2goSession(object):
self.suspended = False
self.running = True
self.terminated = False
+ self.faulty = False
self.terminal_session = _terminal
return True
@@ -1016,6 +1028,7 @@ class X2goSession(object):
self.suspended = False
self.running = True
self.terminated = False
+ self.faulty = False
return self.running
else:
@@ -1041,6 +1054,7 @@ class X2goSession(object):
self.running = False
self.suspended = True
self.terminated = False
+ self.faults = False
self.session_cleanup()
return True
@@ -1050,6 +1064,7 @@ class X2goSession(object):
self.running = False
self.suspended = True
self.terminated = False
+ self.faulty = False
self.session_cleanup()
return True
@@ -1077,6 +1092,7 @@ class X2goSession(object):
self.running = False
self.suspended = False
self.terminated = True
+ self.faulty = False
self.session_cleanup()
return True
@@ -1086,6 +1102,7 @@ class X2goSession(object):
self.running = False
self.suspended = False
self.terminated = True
+ self.faulty = False
self.session_cleanup()
return True
else:
@@ -1151,6 +1168,7 @@ class X2goSession(object):
self.running = None
self.suspended = None
self.terminated = None
+ self.faulty = None
return self.connected
__is_connected = is_connected
@@ -1167,6 +1185,7 @@ class X2goSession(object):
if self.running:
self.suspended = False
self.terminated = False
+ self.faulty = False
if self.virgin and not self.running:
self.running = None
return self.running
@@ -1185,6 +1204,7 @@ class X2goSession(object):
if self.suspended:
self.running = False
self.terminated = False
+ self.faulty = False
if self.virgin and not self.suspended:
self.suspended = None
return self.suspended
@@ -1203,6 +1223,7 @@ class X2goSession(object):
if self.terminated:
self.running = False
self.suspended = False
+ self.faulty = False
if self.virgin and not self.terminated:
self.terminated = None
return self.has_terminated
hooks/post-receive
--
python-x2go.git (Python X2Go Client API)
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "python-x2go.git" (Python X2Go Client API).
More information about the x2go-commits
mailing list