[X2Go-Commits] python-x2go.git - release/0.4.0.x (branch) updated: 0.4.0.5-5-ga919329

X2Go dev team git-admin at x2go.org
Tue Jan 7 16:18:35 CET 2014


The branch, release/0.4.0.x has been updated
       via  a919329fc9b918fa4e28f1350c17beffa25d57fd (commit)
      from  07a1fd1954cd03dcf36b7fad83a730bb87cb4e8f (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 |   84 +++++++++++++++++++-------------------
 2 files changed, 44 insertions(+), 41 deletions(-)

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index d5131cc..726086e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ python-x2go (0.4.0.6-0~x2go1) UNRELEASED; urgency=low
   * New upstream version (0.4.0.6):
     - Use XFCE as desktop environment in example scripts.
     - Make Python X2Go aware of the MATE desktop environment.
+    - When resuming session be tolerant towards disrupted connections.
 
  -- Mike Gabriel <mike.gabriel at das-netzwertkeam.de>  Fri, 19 Jul 2013 17:45:24 +0200
 
diff --git a/x2go/backends/control/_stdout.py b/x2go/backends/control/_stdout.py
index 4a9fbb8..480dcdc 100644
--- a/x2go/backends/control/_stdout.py
+++ b/x2go/backends/control/_stdout.py
@@ -1305,51 +1305,53 @@ class X2GoControlSessionSTDOUT(paramiko.SSHClient):
         @raise X2GoUserException: if the remote user is not allowed to launch/resume X2Go sessions.
 
         """
-        if not self.is_x2gouser(self.get_transport().get_username()):
-            raise x2go_exceptions.X2GoUserException('remote user %s is not allowed to run X2Go commands' % self.get_transport().get_username())
+        if self.get_transport() is not None:
 
-        session_info = None
-        try:
-            if session_name is not None:
-                if session_list:
-                    session_info = session_list[session_name]
-                else:
-                    session_info = self.list_sessions()[session_name]
-        except KeyError:
-            _success = False
-
-        _terminal = self._terminal_backend(self,
-                                           profile_name=self.profile_name,
-                                           session_info=session_info,
-                                           info_backend=self._info_backend,
-                                           list_backend=self._list_backend,
-                                           proxy_backend=self._proxy_backend,
-                                           client_rootdir=self.client_rootdir,
-                                           session_instance=session_instance,
-                                           sessions_rootdir=self.sessions_rootdir,
-                                           **kwargs)
-
-        _success = False
-        try:
-            if session_name is not None:
-                _success = _terminal.resume()
-            else:
-                _success = _terminal.start()
-        except x2go_exceptions.X2GoTerminalSessionException:
-            _success = False
+            if not self.is_x2gouser(self.get_transport().get_username()):
+                raise x2go_exceptions.X2GoUserException('remote user %s is not allowed to run X2Go commands' % self.get_transport().get_username())
 
-        if _success:
-            while not _terminal.ok():
-                gevent.sleep(.2)
+            session_info = None
+            try:
+                if session_name is not None:
+                    if session_list:
+                        session_info = session_list[session_name]
+                    else:
+                        session_info = self.list_sessions()[session_name]
+            except KeyError:
+                _success = False
+
+            _terminal = self._terminal_backend(self,
+                                               profile_name=self.profile_name,
+                                               session_info=session_info,
+                                               info_backend=self._info_backend,
+                                               list_backend=self._list_backend,
+                                               proxy_backend=self._proxy_backend,
+                                               client_rootdir=self.client_rootdir,
+                                               session_instance=session_instance,
+                                               sessions_rootdir=self.sessions_rootdir,
+                                               **kwargs)
 
-            if _terminal.ok():
-                self.associated_terminals[_terminal.get_session_name()] = _terminal
-                self.get_transport().reverse_tunnels[_terminal.get_session_name()] = {
-                    'sshfs': (0, None),
-                    'snd': (0, None),
-                }
+            _success = False
+            try:
+                if session_name is not None:
+                    _success = _terminal.resume()
+                else:
+                    _success = _terminal.start()
+            except x2go_exceptions.X2GoTerminalSessionException:
+                _success = False
+
+            if _success:
+                while not _terminal.ok():
+                    gevent.sleep(.2)
+
+                if _terminal.ok():
+                    self.associated_terminals[_terminal.get_session_name()] = _terminal
+                    self.get_transport().reverse_tunnels[_terminal.get_session_name()] = {
+                        'sshfs': (0, None),
+                        'snd': (0, None),
+                    }
 
-                return _terminal or None
+                    return _terminal or None
 
         return None
 


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