[X2Go-Commits] python-x2go.git - build-baikal (branch) updated: 926ebbbc9976ec45e3131f4dd814340ce9895933

X2Go dev team git-admin at x2go.org
Wed Jan 8 15:25:31 CET 2014


The branch, build-baikal has been updated
       via  926ebbbc9976ec45e3131f4dd814340ce9895933 (commit)
      from  3e9bd013e07df85ae426e58bc3c177cbb4f61977 (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:
 x2go/backends/control/_stdout.py  |   11 +++++++++++
 x2go/backends/proxy/_nx3.py       |    6 ++----
 x2go/backends/proxy/base.py       |    6 +++++-
 x2go/backends/terminal/_stdout.py |   27 +++++++++++++++++----------
 x2go/client.py                    |   12 ++++++++++++
 x2go/defaults.py                  |    1 +
 x2go/mime_export.py               |    2 --
 x2go/printactions.py              |    2 --
 x2go/printqueue.py                |    2 --
 x2go/registry.py                  |   12 ++++++++++++
 x2go/session.py                   |   15 +++++++++++++++
 11 files changed, 75 insertions(+), 21 deletions(-)

The diff of changes is:
diff --git a/x2go/backends/control/_stdout.py b/x2go/backends/control/_stdout.py
index f3a3030..f0a06de 100644
--- a/x2go/backends/control/_stdout.py
+++ b/x2go/backends/control/_stdout.py
@@ -26,6 +26,7 @@ This backend handles X2go server implementations that respond via server-side ST
 __NAME__ = 'x2gocontrolsession-pylib'
 
 # modules
+import os
 import types
 import paramiko
 import gevent
@@ -78,6 +79,9 @@ class X2goControlSessionSTDOUT(paramiko.SSHClient):
                  info_backend=_X2goServerSessionInfo,
                  list_backend=_X2goServerSessionList,
                  proxy_backend=_X2goProxy,
+                 client_rootdir=os.path.join(defaults.LOCAL_HOME, defaults.X2GO_CLIENT_ROOTDIR),
+                 session_rootdir=os.path.join(defaults.LOCAL_HOME, defaults.X2GO_SESSION_ROOTDIR),
+                 ssh_rootdir=os.path.join(defaults.LOCAL_HOME, defaults.X2GO_SSH_ROOTDIR),
                  logger=None, loglevel=log.loglevel_DEFAULT,
                  *args, **kwargs):
         """\
@@ -105,6 +109,11 @@ class X2goControlSessionSTDOUT(paramiko.SSHClient):
         self._info_backend = info_backend
         self._list_backend = list_backend
         self._proxy_backend = proxy_backend
+
+        self.client_rootdir = client_rootdir
+        self.session_rootdir = session_rootdir
+        self.ssh_rootdir = ssh_rootdir
+
         paramiko.SSHClient.__init__(self, *args, **kwargs)
 
     def __del__(self):
@@ -368,6 +377,8 @@ class X2goControlSessionSTDOUT(paramiko.SSHClient):
                                            info_backend=self._info_backend,
                                            list_backend=self._list_backend,
                                            proxy_backend=self._proxy_backend,
+                                           client_rootdir=self.client_rootdir,
+                                           session_rootdir=self.session_rootdir,
                                            **kwargs)
 
         if session_name is not None:
diff --git a/x2go/backends/proxy/_nx3.py b/x2go/backends/proxy/_nx3.py
index 01eee7d..f229c3e 100644
--- a/x2go/backends/proxy/_nx3.py
+++ b/x2go/backends/proxy/_nx3.py
@@ -38,8 +38,6 @@ import x2go.log as log
 import base
 
 from x2go.defaults import X2GOCLIENT_OS as _X2GOCLIENT_OS
-from x2go.defaults import LOCAL_HOME as _LOCAL_HOME
-from x2go.defaults import X2GO_SESSION_ROOTDIR as _X2GO_SESSION_ROOTDIR
 
 class X2goProxyNX3(base.X2goProxyBASE):
     """\
@@ -55,7 +53,7 @@ class X2goProxyNX3(base.X2goProxyBASE):
 
         """
         base.X2goProxyBASE.__init__(self, *args, **kwargs)
-        
+
         # setting some default environment variables, nxproxy paths etc.
         if _X2GOCLIENT_OS == "Windows":
             _nxproxy_paths = [
@@ -72,7 +70,7 @@ class X2goProxyNX3(base.X2goProxyBASE):
             self.PROXY_CMD = "/usr/bin/nxproxy"
         self.PROXY_ENV.update({
             "NX_CLIENT": "/bin/true",
-            "NX_ROOT": os.path.join(_LOCAL_HOME, _X2GO_SESSION_ROOTDIR)
+            "NX_ROOT": self.session_rootdir
         })
         self.PROXY_MODE = '-S'
         if _X2GOCLIENT_OS == "Windows":
diff --git a/x2go/backends/proxy/base.py b/x2go/backends/proxy/base.py
index b894d91..585492e 100644
--- a/x2go/backends/proxy/base.py
+++ b/x2go/backends/proxy/base.py
@@ -68,7 +68,10 @@ class X2goProxyBASE(threading.Thread):
     fw_tunnel = None
     proxy = None
 
-    def __init__(self, session_info=None, ssh_transport=None, session_log="session.log", logger=None, loglevel=log.loglevel_DEFAULT, ):
+    def __init__(self, session_info=None, 
+                 session_rootdir=os.path.join(_LOCAL_HOME, _X2GO_SESSION_ROOTDIR), 
+                 ssh_transport=None, session_log="session.log", 
+                 logger=None, loglevel=log.loglevel_DEFAULT, ):
         """\
         @param session_info: session information provided as an C{X2goServerSessionInfo} backend
             class object
@@ -91,6 +94,7 @@ class X2goProxyBASE(threading.Thread):
             self.logger = copy.deepcopy(logger)
         self.logger.tag = __NAME__
 
+        self.session_rootdir = session_rootdir
         self.session_info = session_info
         self.ssh_transport = ssh_transport
         self.session_log = session_log
diff --git a/x2go/backends/terminal/_stdout.py b/x2go/backends/terminal/_stdout.py
index d199f3d..f7e8c8e 100644
--- a/x2go/backends/terminal/_stdout.py
+++ b/x2go/backends/terminal/_stdout.py
@@ -50,6 +50,7 @@ from x2go.cleanup import x2go_cleanup
 # we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)
 from x2go.defaults import LOCAL_HOME as _LOCAL_HOME
 from x2go.defaults import CURRENT_LOCAL_USER as _CURRENT_LOCAL_USER
+from x2go.defaults import X2GO_CLIENT_ROOTDIR as _X2GO_CLIENT_ROOTDIR
 from x2go.defaults import X2GO_SESSION_ROOTDIR as _X2GO_SESSION_ROOTDIR
 
 from x2go.backends.info import X2goServerSessionInfo as _X2goServerSessionInfo
@@ -224,6 +225,8 @@ class X2goTerminalSessionSTDOUT(object):
                  list_backend=_X2goServerSessionList,
                  proxy_backend=_X2goProxy,
                  printing_backend=_X2goClientPrinting,
+                 client_rootdir=os.path.join(_LOCAL_HOME, _X2GO_CLIENT_ROOTDIR),
+                 session_rootdir=os.path.join(_LOCAL_HOME, _X2GO_SESSION_ROOTDIR),
                  client_instance=None,
                  logger=None, loglevel=log.loglevel_DEFAULT):
         """\
@@ -249,6 +252,9 @@ class X2goTerminalSessionSTDOUT(object):
         self.control_session = control_session
         self.reverse_tunnels = self.control_session.get_transport().reverse_tunnels
 
+        self.client_rootdir = client_rootdir
+        self.session_rootdir = session_rootdir
+
         self.params = X2goSessionParams()
 
         self.params.geometry = geometry
@@ -265,7 +271,7 @@ class X2goTerminalSessionSTDOUT(object):
         self.params.rdp_server = rdp_server
         self.params.rdp_options = rdp_options
 
-        self.params.rootdir = (type(rootdir) is types.StringType) and rootdir or os.path.join(_LOCAL_HOME,_X2GO_SESSION_ROOTDIR)
+        self.params.rootdir = (type(rootdir) is types.StringType) and rootdir or self.session_rootdir
         self.params.update()
 
         self.profile_name = profile_name
@@ -668,13 +674,15 @@ class X2goTerminalSessionSTDOUT(object):
         # local path may be a Windows path, so we use the path separator of the local system
         self.session_info.local_container = os.path.join(self.params.rootdir, 'S-%s' % self.session_info.name)
         # remote path is always a UniX path...
-        self.session_info.remote_container = '%s/%s/C-%s' % (self.control_session._x2go_remote_home,
-                                                             _X2GO_SESSION_ROOTDIR,
-                                                             self.session_info.name,
-                                                            )
+        self.session_info.remote_container = '%s/.x2go/C-%s' % (self.control_session._x2go_remote_home,
+                                                                self.session_info.name,
+                                                               )
 
         # set up SSH tunnel for X11 graphical elements
-        self.proxy = self.proxy_class(session_info=self.session_info, ssh_transport=self.control_session.get_transport(), logger=self.logger)
+        self.proxy = self.proxy_class(session_info=self.session_info, 
+                                      session_rootdir=self.session_rootdir, 
+                                      ssh_transport=self.control_session.get_transport(), 
+                                      logger=self.logger)
         self.proxy_subprocess = self.proxy.start_proxy()
         self.active_threads.append(self.proxy)
 
@@ -712,10 +720,9 @@ class X2goTerminalSessionSTDOUT(object):
         # local path may be a Windows path, so we use the path separator of the local system
         self.session_info.local_container = os.path.join(self.params.rootdir, 'S-%s' % self.session_info.name)
         # remote path is always a UniX path...
-        self.session_info.remote_container = '%s/%s/C-%s' % (self.control_session._x2go_remote_home, 
-                                                             _X2GO_SESSION_ROOTDIR,
-                                                             self.session_info.name,
-                                                            )
+        self.session_info.remote_container = '%s/.x2go/C-%s' % (self.control_session._x2go_remote_home, 
+                                                                self.session_info.name,
+                                                               )
         return self.ok()
 
     def suspend(self):
diff --git a/x2go/client.py b/x2go/client.py
index 1f43f3f..3a483bf 100644
--- a/x2go/client.py
+++ b/x2go/client.py
@@ -136,6 +136,8 @@ from defaults import X2GOCLIENT_OS as _X2GOCLIENT_OS
 from defaults import LOCAL_HOME as _LOCAL_HOME
 from defaults import CURRENT_LOCAL_USER as _CURRENT_LOCAL_USER
 from defaults import X2GO_CLIENT_ROOTDIR as _X2GO_CLIENT_ROOTDIR
+from defaults import X2GO_SESSION_ROOTDIR as _X2GO_SESSION_ROOTDIR
+from defaults import X2GO_SSH_ROOTDIR as _X2GO_SSH_ROOTDIR
 
 from x2go.backends.control import X2goControlSession as _X2goControlSession
 from x2go.backends.terminal import X2goTerminalSession as _X2goTerminalSession
@@ -169,6 +171,9 @@ class X2goClient(object):
                  profiles_backend=_X2goSessionProfiles,
                  settings_backend=_X2goClientSettings,
                  printing_backend=_X2goClientPrinting,
+                 client_rootdir=os.path.join(_LOCAL_HOME, _X2GO_CLIENT_ROOTDIR),
+                 session_rootdir=os.path.join(_LOCAL_HOME, _X2GO_SESSION_ROOTDIR),
+                 ssh_rootdir=os.path.join(_LOCAL_HOME, _X2GO_SSH_ROOTDIR),
                  logger=None, loglevel=log.loglevel_DEFAULT):
         """\
         @param logger: you can pass an L{X2goLogger} object to the
@@ -197,6 +202,10 @@ class X2goClient(object):
         self.settings_backend = settings_backend
         self.printing_backend = printing_backend
 
+        self.client_rootdir = client_rootdir
+        self.session_rootdir = session_rootdir
+        self.ssh_rootdir = ssh_rootdir
+
         if _X2GOCLIENT_OS == 'Windows' and start_xserver:
             self.client_xconfig = X2goClientXConfig(logger=self.logger)
             if not self.client_xconfig.known_server:
@@ -380,6 +389,9 @@ class X2goClient(object):
                                                       proxy_backend=self.proxy_backend,
                                                       settings_backend=self.settings_backend,
                                                       printing_backend=self.printing_backend,
+                                                      client_rootdir=self.client_rootdir,
+                                                      session_rootdir=self.session_rootdir,
+                                                      ssh_rootdir=self.ssh_rootdir,
                                                       **_params)
 
         self.logger('initializing X2go session...', log.loglevel_NOTICE, tag=self._logger_tag)
diff --git a/x2go/defaults.py b/x2go/defaults.py
index 24b606e..1f17cba 100644
--- a/x2go/defaults.py
+++ b/x2go/defaults.py
@@ -37,6 +37,7 @@ X2GOCLIENT_OS = platform.system()
 LOCAL_HOME = os.path.expanduser('~')
 X2GO_SESSION_ROOTDIR = '.x2go'
 X2GO_CLIENT_ROOTDIR = '.x2goclient'
+X2GO_SSH_ROOTDIR = os.path.join('.x2go','.ssh')
 
 # setting OS dependent variables
 if X2GOCLIENT_OS == "Windows":
diff --git a/x2go/mime_export.py b/x2go/mime_export.py
index 8e5a864..7302ca0 100644
--- a/x2go/mime_export.py
+++ b/x2go/mime_export.py
@@ -42,8 +42,6 @@ if sys.platform == 'win32':
 import log
 import defaults
 # we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)
-from defaults import LOCAL_HOME as _LOCAL_HOME
-from defaults import X2GO_CLIENT_ROOTDIR as _X2GO_CLIENT_ROOTDIR
 from defaults import X2GO_CLIENTPRINTING_DEFAULTS as _X2GO_CLIENTPRINTING_DEFAULTS
 from defaults import X2GO_PRINTING_CONFIGFILES as _X2GO_PRINTING_CONFIGFILES
 import utils
diff --git a/x2go/printactions.py b/x2go/printactions.py
index 40e4740..a895161 100644
--- a/x2go/printactions.py
+++ b/x2go/printactions.py
@@ -48,8 +48,6 @@ else:
 import log
 import defaults
 # we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)
-from defaults import LOCAL_HOME as _LOCAL_HOME
-from defaults import X2GO_CLIENT_ROOTDIR as _X2GO_CLIENT_ROOTDIR
 import utils
 import x2go_exceptions
 
diff --git a/x2go/printqueue.py b/x2go/printqueue.py
index bff0892..266ba61 100644
--- a/x2go/printqueue.py
+++ b/x2go/printqueue.py
@@ -37,8 +37,6 @@ import gevent
 import log
 import defaults
 # we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)
-from defaults import LOCAL_HOME as _LOCAL_HOME
-from defaults import X2GO_CLIENT_ROOTDIR as _X2GO_CLIENT_ROOTDIR
 from backends.printing import X2goClientPrinting as _X2goClientPrinting
 
 
diff --git a/x2go/registry.py b/x2go/registry.py
index 3b03b31..acdb5d4 100644
--- a/x2go/registry.py
+++ b/x2go/registry.py
@@ -22,6 +22,7 @@ X2goSessionRegistry class - the X2goClient's session registry backend
 """
 __NAME__ = 'x2gosessregistry-pylib'
 
+import os
 import copy
 import types
 import uuid
@@ -43,6 +44,11 @@ from x2go.backends.proxy import X2goProxy as _X2goProxy
 from x2go.backends.settings import X2goClientSettings as _X2goClientSettings
 from x2go.backends.printing import X2goClientPrinting as _X2goClientPrinting
 
+from defaults import LOCAL_HOME as _LOCAL_HOME
+from defaults import X2GO_CLIENT_ROOTDIR as _X2GO_CLIENT_ROOTDIR
+from defaults import X2GO_SESSION_ROOTDIR as _X2GO_SESSION_ROOTDIR
+from defaults import X2GO_SSH_ROOTDIR as _X2GO_SSH_ROOTDIR
+
 class X2goSessionRegistry(object):
     """\
     STILL UNDOCUMENTED
@@ -127,6 +133,9 @@ class X2goSessionRegistry(object):
                  proxy_backend=_X2goProxy,
                  settings_backend=_X2goClientSettings,
                  printing_backend=_X2goClientPrinting,
+                 client_rootdir=os.path.join(_LOCAL_HOME,_X2GO_CLIENT_ROOTDIR),
+                 session_rootdir=os.path.join(_LOCAL_HOME,_X2GO_SESSION_ROOTDIR),
+                 ssh_rootdir=os.path.join(_LOCAL_HOME,_X2GO_SSH_ROOTDIR),
                  **kwargs):
 
         control_session = None
@@ -142,6 +151,9 @@ class X2goSessionRegistry(object):
                                 proxy_backend=proxy_backend,
                                 settings_backend=settings_backend,
                                 printing_backend=printing_backend,
+                                client_rootdir=client_rootdir,
+                                session_rootdir=session_rootdir,
+                                ssh_rootdir=ssh_rootdir,
                                 logger=self.logger, **kwargs)
 
         session_uuid = s._X2goSession__get_uuid()
diff --git a/x2go/session.py b/x2go/session.py
index da8a3bc..7ad9c30 100644
--- a/x2go/session.py
+++ b/x2go/session.py
@@ -22,6 +22,7 @@ X2goSession class - the X2goClient's session backend
 """
 __NAME__ = 'x2gosession-pylib'
 
+import os
 import copy
 import types
 import uuid
@@ -43,6 +44,11 @@ from x2go.backends.profiles import X2goSessionProfiles as _X2goSessionProfiles
 from x2go.backends.settings import X2goClientSettings as _X2goClientSettings
 from x2go.backends.printing import X2goClientPrinting as _X2goClientPrinting
 
+from defaults import LOCAL_HOME as _LOCAL_HOME
+from defaults import X2GO_CLIENT_ROOTDIR as _X2GO_CLIENT_ROOTDIR
+from defaults import X2GO_SESSION_ROOTDIR as _X2GO_SESSION_ROOTDIR
+from defaults import X2GO_SSH_ROOTDIR as _X2GO_SSH_ROOTDIR
+
 from defaults import SUPPORTED_SOUND, SUPPORTED_PRINTING, SUPPORTED_FOLDERSHARING
 
 # options of the paramiko.SSHClient().connect()
@@ -70,6 +76,9 @@ class X2goSession(object):
                  proxy_backend=_X2goProxy,
                  settings_backend=_X2goClientSettings,
                  printing_backend=_X2goClientPrinting,
+                 client_rootdir=os.path.join(_LOCAL_HOME, _X2GO_CLIENT_ROOTDIR),
+                 session_rootdir=os.path.join(_LOCAL_HOME, _X2GO_SESSION_ROOTDIR),
+                 ssh_rootdir=os.path.join(_LOCAL_HOME, _X2GO_SSH_ROOTDIR),
                  known_hosts=None,
                  logger=None, loglevel=log.loglevel_DEFAULT,
                  **params):
@@ -100,6 +109,9 @@ class X2goSession(object):
         self._proxy_backend = proxy_backend
         self._settings_backend = settings_backend
         self._printing_backend = printing_backend
+        self.client_rootdir = client_rootdir
+        self.session_rootdir = session_rootdir
+        self.ssh_rootdir = ssh_rootdir
 
         # the client instance is not deeply copiable
         _client_instance=None
@@ -134,6 +146,9 @@ class X2goSession(object):
                                                    info_backend=info_backend,
                                                    list_backend=list_backend,
                                                    proxy_backend=proxy_backend,
+                                                   client_rootdir=client_rootdir,
+                                                   session_rootdir=session_rootdir,
+                                                   ssh_rootdir=ssh_rootdir,
                                                    logger=logger)
         else:
             self.control_session = control_session


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