[X2Go-Commits] python-x2go.git - build-baikal (branch) updated: 0.1.0.3-16-ga93a351
X2Go dev team
git-admin at x2go.org
Wed Jan 8 15:26:30 CET 2014
The branch, build-baikal 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