This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to annotated tag 0.1.4.0
in repository x2goclient.
commit 7e59b3d16f0622bd210ef0ca23c0106b608a8c40
Author: mike <mike@cdb5e8f1-f799-4276-8919-bce57fd91830>
Date: Wed Nov 10 14:51:29 2010 +0000
* improved error handling for crash X2go session (integration in to
PyHoca-CLI)
git-svn-id: https://svn.das-netzwerkteam.de/x2go/pyhoca-cli/trunk@46
cdb5e8f1-f799-4276-8919-bce57fd91830
---
pyhoca/cli/frontend.py | 64 ++++++++++++++++++++++++++++++--------------------
1 file changed, 38 insertions(+), 26 deletions(-)
diff --git a/pyhoca/cli/frontend.py b/pyhoca/cli/frontend.py
index 5aae849e..e19cda89 100644
--- a/pyhoca/cli/frontend.py
+++ b/pyhoca/cli/frontend.py
@@ -28,6 +28,7 @@ import getpass
import x2go
import paramiko
from types import *
+from gevent import socket
# a list of available X2go print actions
from x2go.defaults import X2GO_PRINT_ACTIONS
@@ -233,19 +234,24 @@ class PyHocaCLI(x2go.X2goClient):
"""
connected = False
force_password_auth = False
- while not connected:
- try:
- self._X2goClient__connect_session(self.x2go_session_hash,
password=self.args.password, force_password_auth=force_password_auth)
- connected = True
- except x2go.AuthenticationException:
- force_password_auth = True
- self.args.password = getpass.getpass()
- except x2go.PasswordRequiredException:
- self.args.password = getpass.getpass()
- except x2go.BadHostKeyException:
- self._runtime_error('SSH host key verification for remote host
[%s]:%s failed' % (self.args.server, self.args.remote_ssh_port), exitcode=-254)
- except x2go.SSHException, e:
- self._runtime_error(str(e), exitcode=253)
+ try:
+
+ while not connected:
+ try:
+ self._X2goClient__connect_session(self.x2go_session_hash,
password=self.args.password, force_password_auth=force_password_auth)
+ connected = True
+ except x2go.AuthenticationException:
+ force_password_auth = True
+ self.args.password = getpass.getpass()
+ except x2go.PasswordRequiredException:
+ self.args.password = getpass.getpass()
+ except x2go.BadHostKeyException:
+ self._runtime_error('SSH host key verification for remote
host [%s]:%s failed' % (self.args.server, self.args.remote_ssh_port),
exitcode=-254)
+ except x2go.SSHException, e:
+ self._runtime_error(str(e), exitcode=253)
+
+ except socket.error, e:
+ self._runtime_error('a socket error occured while establishing the
connection: %s' % str(e), exitcode=-245)
def MainLoop(self):
@@ -302,19 +308,25 @@ class PyHocaCLI(x2go.X2goClient):
session_duration = 0
mounted = False
- while self._X2goClient__session_ok(self.x2go_session_hash):
- time.sleep(2)
- session_duration +=2
-
- # wait a little longer before telling the user what had
happened
- time.sleep(2)
-
- if
self._X2goClient__has_session_terminated(self.x2go_session_hash):
- self.logger("X2go session %s has terminated" %
session_name, x2go.loglevel_NOTICE, )
- elif
self._X2goClient__is_session_suspended(self.x2go_session_hash):
- self.logger("X2go session %s has been suspended" %
session_name, x2go.loglevel_NOTICE, )
- elif
self._X2goClient__is_session_running(self.x2go_session_hash):
- self.logger("X2go session %s has been moved to a different
screen" % session_name, x2go.loglevel_NOTICE, )
+
+ try:
+ while self._X2goClient__session_ok(self.x2go_session_hash):
+ time.sleep(2)
+ session_duration +=2
+
+ # wait a little longer before telling the user what
had happened
+ time.sleep(2)
+
+ if
self._X2goClient__has_session_terminated(self.x2go_session_hash):
+ self.logger("X2go session %s has terminated" %
session_name, x2go.loglevel_NOTICE, )
+ elif
self._X2goClient__is_session_suspended(self.x2go_session_hash):
+ self.logger("X2go session %s has been suspended" %
session_name, x2go.loglevel_NOTICE, )
+ elif
self._X2goClient__is_session_running(self.x2go_session_hash):
+ self.logger("X2go session %s has been moved to a
different screen" % session_name, x2go.loglevel_NOTICE, )
+
+ except x2go.X2goSessionException, e:
+ self.logger("X2goSessionException occured:",
x2go.loglevel_ERROR, )
+ self.logger("-> %s" % str(e), x2go.loglevel_ERROR, )
except KeyboardInterrupt:
self.logger("Suspending X2go session %s" % session_name,
x2go.loglevel_INFO, )
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on
/srv/git/code.x2go.org/x2goclient.git
_______________________________________________
x2go-commits mailing list
[email protected]
https://lists.x2go.org/listinfo/x2go-commits