[X2Go-Commits] python-x2go.git - build-baikal (branch) updated: 0.1.1.4-127-g2a96e1e
X2Go dev team
git-admin at x2go.org
Wed Jan 8 15:30:52 CET 2014
The branch, build-baikal has been updated
via 2a96e1e2fb82f305f3d2d5c88f0ece5eb7624ba1 (commit)
from 8d90554cf0190a23569d52c31aee3c8811d1bcc2 (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/backends/control/_stdout.py | 16 ++++++++++++++++
x2go/session.py | 19 +++++++++++++++++++
3 files changed, 36 insertions(+)
The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index d3f9768..65571f2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -38,6 +38,7 @@ python-x2go (0.1.2.0-0~x2go1) UNRELEASED; urgency=low
- Run MIME box actions in background (gevent.spawn).
- Amend list of default session options.
- Update list of unsupported session options.
+ - Retrieve feature list from X2Go server per session.
* Depend on python-xlib.
-- Mike Gabriel <mike.gabriel at das-netzwerkteam.de> Sat, 28 Sep 2012 01:44:21 +0100
diff --git a/x2go/backends/control/_stdout.py b/x2go/backends/control/_stdout.py
index 9d59807..db170b2 100644
--- a/x2go/backends/control/_stdout.py
+++ b/x2go/backends/control/_stdout.py
@@ -122,6 +122,8 @@ class X2goControlSessionSTDOUT(paramiko.SSHClient):
self._remote_home = None
self._remote_group = {}
+ self._server_features = []
+
self.locked = False
if logger is None:
@@ -239,6 +241,20 @@ class X2goControlSessionSTDOUT(paramiko.SSHClient):
raise x2go_exceptions.X2goControlSessionException('the X2Go control session is not connected')
return _retval
+
+ @property
+ def _x2go_server_features(self):
+ if self._server_features is None:
+ (stdin, stdout, stderr) = self._x2go_exec_command('which x2gofeaturelist && x2gofeaturelist')
+ self._server_features = stdout.read().split('\n')
+ self.logger('server-side X2Go features are: %s' % self._server_features, loglevel=log.loglevel_DEBUG)
+ return self._server_features
+ else:
+ return self._server_features
+
+ def query_server_features(self):
+ return self._x2go_server_features
+
@property
def _x2go_remote_home(self):
diff --git a/x2go/session.py b/x2go/session.py
index 1d5c062..4fe945c 100644
--- a/x2go/session.py
+++ b/x2go/session.py
@@ -237,6 +237,7 @@ class X2goSession(object):
self.shared_folders = []
self.session_environment = {}
+ self.server_features = []
try: del self.control_params['server']
except: pass
@@ -909,6 +910,7 @@ class X2goSession(object):
if self.connected:
self.update_status()
+ self.retrieve_server_features()
return self.connected
__connect = connect
@@ -935,6 +937,23 @@ class X2goSession(object):
return retval
__disconnect = disconnect
+ def retrieve_server_features(self):
+ """\
+ Query the X2Go server for a list of supported features.
+
+ """
+ self.server_features = self.control_session.query_server_features()
+
+ def get_server_features(self):
+ """\
+ Return a list of X2Go server-sides features (supported functionalities).
+
+ @return: a C{list} of X2Go feature names.
+ @rtype: C{list}
+
+ """
+ return self.server_features
+
def set_session_window_title(self, title=''):
"""\
Modify session window title. If the session ID does not occur in the
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