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 95b44ad28a0d76a50785507d403f281145f99238 Author: mike <mike@cdb5e8f1-f799-4276-8919-bce57fd91830> Date: Sat Nov 13 21:25:23 2010 +0000 * PyHocaCLI class and its X2goClient parent class now have separate loggers * X2goSessionExceptions are now caught more globally * allowing session profile option override from the command line git-svn-id: https://svn.das-netzwerkteam.de/x2go/pyhoca-cli/trunk@53 cdb5e8f1-f799-4276-8919-bce57fd91830 --- pyhoca-cli | 3 +- pyhoca/cli/frontend.py | 129 ++++++++++++++++++++++++++----------------------- 2 files changed, 71 insertions(+), 61 deletions(-) diff --git a/pyhoca-cli b/pyhoca-cli index 0aac277d..2d21c008 100755 --- a/pyhoca-cli +++ b/pyhoca-cli @@ -62,7 +62,7 @@ VERSION: %s PRINT_ACTIONS = X2GO_PRINT_ACTIONS.keys() -logger = x2go.X2goLogger(tag='MAIN') +logger = x2go.X2goLogger() liblogger = x2go.X2goLogger() ### @@ -299,6 +299,7 @@ if __name__ == '__main__': # parse command line parser, args = parseargs() + args.parser = parser try: diff --git a/pyhoca/cli/frontend.py b/pyhoca/cli/frontend.py index 9dbaa938..4a2ca6d7 100644 --- a/pyhoca/cli/frontend.py +++ b/pyhoca/cli/frontend.py @@ -190,29 +190,38 @@ class PyHocaCLI(x2go.X2goClient): """ self.args = args if logger is None: - logger = x2go.X2goLogger(tag='PyHocaCLI') + self._pyhoca_logger = x2go.X2goLogger(tag='PyHocaCLI') else: - self.logger = copy.deepcopy(logger) - self.logger.tag = 'PyHocaCLI' + self._pyhoca_logger = copy.deepcopy(logger) + self._pyhoca_logger.tag = 'PyHocaCLI' # initialize the X2goClient context and start the connection to the X2go server - self.logger('preparing requested X2go session', x2go.loglevel_NOTICE, ) + self._pyhoca_logger('preparing requested X2go session', x2go.loglevel_NOTICE, ) x2go.X2goClient.__init__(self, logger=liblogger) _profiles = self._X2goClient__get_profiles() if self.args.session_profile and _profiles.has_profile(self.args.session_profile): - self.x2go_session_hash = self._X2goClient__register_session(profile_name=self.args.session_profile) + # override session profile options by option values from the arg parser + kwargs={} + if hasattr(self.args, 'parser'): + for a, v in self.args._get_kwargs(): + if v != self.args.parser.get_default(a): + kwargs[a] = v + + # setup up the session profile based X2go session + self.x2go_session_hash = self._X2goClient__register_session(profile_name=self.args.session_profile, **kwargs) else: + # setup up the manually configured X2go session self.x2go_session_hash = self._X2goClient__register_session(args.server, port=int(self.args.remote_ssh_port), username=self.args.username, password=self.args.password, key_filename=self.args.ssh_privkey, add_to_known_hosts=self.args.add_to_known_hosts, - custom_profile_name = 'Pyhoca-Client_Session', + profile_name = 'Pyhoca-Client_Session', session_type=self.args.session_type, link=self.args.link, geometry=self.args.geometry, @@ -261,57 +270,58 @@ class PyHocaCLI(x2go.X2goClient): STILL UNDOCUMENTED """ - if self.args.clean_sessions: - self.clean_sessions(self.x2go_session_hash) - - # go through the possible X2go client modes - if self.args.list_sessions: - # print a beautified session list for the user - self.list_sessions(self.x2go_session_hash) - sys.exit(0) + try: - if self.args.list_profiles: - # print a beautified profile list for the user - self.list_profiles() - sys.exit(0) + if self.args.clean_sessions: + self.clean_sessions(self.x2go_session_hash) - if self.args.resume: - self.resume_session(self.x2go_session_hash) + # go through the possible X2go client modes + if self.args.list_sessions: + # print a beautified session list for the user + self.list_sessions(self.x2go_session_hash) + sys.exit(0) - elif self.args.suspend: - self.suspend_session(self.x2go_session_hash) + if self.args.list_profiles: + # print a beautified profile list for the user + self.list_profiles() + sys.exit(0) - elif self.args.terminate: - self.terminate_session(self.x2go_session_hash) + if self.args.resume: + self.resume_session(self.x2go_session_hash) - elif self.args.new: - self.new_session(self.x2go_session_hash) + elif self.args.suspend: + self.suspend_session(self.x2go_session_hash) - # finally call the MainLoop of PyHocaCLI - if not (self.args.new or self.args.resume or self.args.session_profile): - sys.exit(0) + elif self.args.terminate: + self.terminate_session(self.x2go_session_hash) - # give the session some time to come up... - # no CTRL-C is allowed during this phase... - i=0 - self.logger("give the X2go session some time to come up...", x2go.loglevel_NOTICE, ) - while i < self.args.time_to_wait: - time.sleep(1) - i+=1 + elif self.args.new: + self.new_session(self.x2go_session_hash) - if self._X2goClient__session_ok(self.x2go_session_hash): + # finally call the MainLoop of PyHocaCLI + if not (self.args.new or self.args.resume or self.args.session_profile): + sys.exit(0) - profile_name = self._X2goClient__get_session_profile_name(self.x2go_session_hash) - session_name = self._X2goClient__get_session_name(self.x2go_session_hash) - self.logger("X2go session is now running, the X2go client's profile name is: %s" % profile_name, x2go.loglevel_INFO, ) - self.logger("X2go session name is: %s" % session_name, x2go.loglevel_INFO, ) - self.logger("Press CTRL+C to suspend the running session...", x2go.loglevel_NOTICE, ) - try: + # give the session some time to come up... + # no CTRL-C is allowed during this phase... + i=0 + self._pyhoca_logger("give the X2go session some time to come up...", x2go.loglevel_NOTICE, ) + while i < self.args.time_to_wait: + time.sleep(1) + i+=1 - session_duration = 0 - mounted = False + if self._X2goClient__session_ok(self.x2go_session_hash): + profile_name = self._X2goClient__get_session_profile_name(self.x2go_session_hash) + session_name = self._X2goClient__get_session_name(self.x2go_session_hash) + self._pyhoca_logger("X2go session is now running, the X2go client's profile name is: %s" % profile_name, x2go.loglevel_INFO, ) + self._pyhoca_logger("X2go session name is: %s" % session_name, x2go.loglevel_INFO, ) + self._pyhoca_logger("Press CTRL+C to suspend the running session...", x2go.loglevel_NOTICE, ) try: + + session_duration = 0 + mounted = False + while self._X2goClient__session_ok(self.x2go_session_hash): time.sleep(2) session_duration +=2 @@ -320,20 +330,19 @@ class PyHocaCLI(x2go.X2goClient): 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, ) + self._pyhoca_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, ) + self._pyhoca_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, ) - self._X2goClient__suspend_session(self.x2go_session_hash) - # giving nxproxy's SSH tunnel some time to settle - time.sleep(2) - self.logger("X2go session %s has been suspended" % session_name, x2go.loglevel_NOTICE, ) - + self._pyhoca_logger("X2go session %s has been moved to a different screen" % session_name, x2go.loglevel_NOTICE, ) + + except KeyboardInterrupt: + self._pyhoca_logger("Suspending X2go session %s" % session_name, x2go.loglevel_INFO, ) + self._X2goClient__suspend_session(self.x2go_session_hash) + # giving nxproxy's SSH tunnel some time to settle + time.sleep(2) + self._pyhoca_logger("X2go session %s has been suspended" % session_name, x2go.loglevel_NOTICE, ) + + except x2go.X2goSessionException, e: + self._pyhoca_logger("X2goSessionException occured:", x2go.loglevel_ERROR, ) + self._pyhoca_logger("-> %s" % str(e), x2go.loglevel_ERROR, ) -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2goclient.git _______________________________________________ x2go-commits mailing list x2go-commits@lists.x2go.org https://lists.x2go.org/listinfo/x2go-commits