This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository pyhoca-cli. commit 568f71fa50fa579569a0b45cafcb95ecf56aef81 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Fri Sep 22 12:03:34 2017 +0200 Port to Python3. --- pyhoca-cli | 4 +- pyhoca/cli/__init__.py | 2 +- pyhoca/cli/frontend.py | 118 ++++++++++++++++++++++++------------------------- setup.py | 2 +- 4 files changed, 63 insertions(+), 63 deletions(-) diff --git a/pyhoca-cli b/pyhoca-cli index 0bf8bba..c5ac402 100755 --- a/pyhoca-cli +++ b/pyhoca-cli @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 # -*- coding: utf-8 -*- # Copyright (C) 2010-2016 by Mike Gabriel <mike.gabriel@das-netzwerkteam.de> @@ -424,6 +424,6 @@ if __name__ == '__main__': sys.exit(0) - except (KeyboardInterrupt, SystemExit), e: + except (KeyboardInterrupt, SystemExit) as e: x2go.x2go_cleanup(e) diff --git a/pyhoca/cli/__init__.py b/pyhoca/cli/__init__.py index 253ec2b..f03b667 100644 --- a/pyhoca/cli/__init__.py +++ b/pyhoca/cli/__init__.py @@ -27,4 +27,4 @@ http://wiki.x2go.org """ __VERSION__ = "0.5.0.5" -from frontend import * +from .frontend import * diff --git a/pyhoca/cli/frontend.py b/pyhoca/cli/frontend.py index f781834..ce0415a 100644 --- a/pyhoca/cli/frontend.py +++ b/pyhoca/cli/frontend.py @@ -81,35 +81,35 @@ class PyHocaCLI(x2go.X2GoClient): """ # retrieve a session list - print - print "Available runing/suspended X2Go sessions" - print "========================================" + print() + print("Available runing/suspended X2Go sessions") + print("========================================") _peername = self._X2GoClient__get_session_server_peername(s_hash) - print "Host: %s - [%s]:%s" % (self._X2GoClient__get_session_server_hostname(s_hash), _peername[0], _peername[1]) - print "Username: %s" % self._X2GoClient__get_session_username(s_hash) - print + print("Host: %s - [%s]:%s" % (self._X2GoClient__get_session_server_hostname(s_hash), _peername[0], _peername[1])) + print("Username: %s" % self._X2GoClient__get_session_username(s_hash)) + print() session_infos = self._X2GoClient__list_sessions(s_hash) if session_infos: - for session_info in session_infos.values(): - print "Session Name: %s" % session_info - print "-------------" - print "cookie: %s" % session_info.cookie - print "agent PID: %s" % session_info.agent_pid - print "display: %s" % session_info.display - print "status: %s" % session_info.status - print "graphic port: %s" % session_info.graphics_port - print "snd port: %s" % session_info.snd_port - print "sshfs port: %s" % session_info.sshfs_port - print "username: %s" % session_info.username - print "hostname: %s" % session_info.hostname + for session_info in list(session_infos.values()): + print("Session Name: %s" % session_info) + print("-------------") + print("cookie: %s" % session_info.cookie) + print("agent PID: %s" % session_info.agent_pid) + print("display: %s" % session_info.display) + print("status: %s" % session_info.status) + print("graphic port: %s" % session_info.graphics_port) + print("snd port: %s" % session_info.snd_port) + print("sshfs port: %s" % session_info.sshfs_port) + print("username: %s" % session_info.username) + print("hostname: %s" % session_info.hostname) # TODO: turn into datetime object - print "create date: %s" % session_info.date_created + print("create date: %s" % session_info.date_created) # TODO: turn into datetime object - print "suspended since: %s" % session_info.date_suspended - print + print("suspended since: %s" % session_info.date_suspended) + print() else: - print "No running/suspended sessions found on X2Go server." - print + print("No running/suspended sessions found on X2Go server.") + print() def list_desktops(self, s_hash): """\ @@ -123,20 +123,20 @@ class PyHocaCLI(x2go.X2GoClient): """ # retrieve a desktop list - print - print "X2Go desktops available for sharing" - print "===================================" + print() + print("X2Go desktops available for sharing") + print("===================================") _peername = self._X2GoClient__get_session_server_peername(s_hash) - print "Host: %s - [%s]:%s" % (self._X2GoClient__get_session_server_hostname(s_hash), _peername[0], _peername[1]) - print "Username: %s" % self._X2GoClient__get_session_username(s_hash) - print + print("Host: %s - [%s]:%s" % (self._X2GoClient__get_session_server_hostname(s_hash), _peername[0], _peername[1])) + print("Username: %s" % self._X2GoClient__get_session_username(s_hash)) + print() desktop_list = self._X2GoClient__list_desktops(s_hash) if desktop_list: for desktop_name in desktop_list: - print desktop_name + print(desktop_name) else: - print "No X2Go desktop sessions found that are available for desktop sharing." - print + print("No X2Go desktop sessions found that are available for desktop sharing.") + print() def list_profiles(self): """\ @@ -146,16 +146,16 @@ class PyHocaCLI(x2go.X2GoClient): """ # retrieve a session list - print - print "Available X2Go session profiles" - print "===============================" + print() + print("Available X2Go session profiles") + print("===============================") _profiles = self._X2GoClient__get_profiles() for _profile_id in _profiles.profile_ids: _profile_config = _profiles.get_profile_config(_profile_id) _session_params = _profiles.to_session_params(_profile_id) - print _profile_config - print _session_params - print + print(_profile_config) + print(_session_params) + print() def clean_sessions(self, s_hash): """\ @@ -224,7 +224,7 @@ class PyHocaCLI(x2go.X2GoClient): self._auto_resume_oldest(s_hash) elif available_sessions and self.args.resume == 'NEWEST': self._auto_resume_newest(s_hash) - elif self.args.resume in available_sessions.keys(): + elif self.args.resume in list(available_sessions.keys()): self._X2GoClient__resume_session(s_hash, self.args.resume) else: self._runtime_error('requested session not available on X2Go server [%s]:%s' % (self.args.server, self.args.remote_ssh_port), exitcode=20) @@ -243,7 +243,7 @@ class PyHocaCLI(x2go.X2GoClient): self.logger('sharing X2Go session: %s' % _desktop, loglevel=x2go.loglevel_INFO, ) try: self._X2GoClient__share_desktop_session(s_hash, desktop=_desktop, share_mode=_share_mode) - except x2go.X2GoDesktopSharingException, e: + except x2go.X2GoDesktopSharingException as e: self._runtime_error('%s' % str(e), exitcode=54) @@ -265,7 +265,7 @@ class PyHocaCLI(x2go.X2GoClient): _session_names = [ self.args.suspend ] for _session_name in _session_names: - if _session_name in available_sessions.keys(): + if _session_name in list(available_sessions.keys()): self._X2GoClient__suspend_session(s_hash, _session_name) self._pyhoca_logger("X2Go session %s has been suspended" % _session_name, loglevel=x2go.loglevel_NOTICE, ) else: @@ -294,7 +294,7 @@ class PyHocaCLI(x2go.X2GoClient): _session_names = [ self.args.terminate ] for _session_name in _session_names: - if _session_name in available_sessions.keys(): + if _session_name in list(available_sessions.keys()): self._X2GoClient__terminate_session(s_hash, _session_name) self._pyhoca_logger("X2Go session %s has been terminated" % _session_name, loglevel=x2go.loglevel_NOTICE, ) else: @@ -360,26 +360,26 @@ class PyHocaCLI(x2go.X2GoClient): _session_profiles = self._X2GoClient__get_profiles() # retrieve a session list - print - print "Available X2Go session profiles" - print "===============================" + print() + print("Available X2Go session profiles") + print("===============================") if hasattr(_session_profiles, 'config_files') and _session_profiles.config_files is not None: - print "configuration files: %s" % _session_profiles.config_files + print("configuration files: %s" % _session_profiles.config_files) if hasattr(_session_profiles, 'user_config_file') and _session_profiles.user_config_file is not None: - print "user configuration file: %s" % _session_profiles.user_config_file + print("user configuration file: %s" % _session_profiles.user_config_file) if hasattr(_session_profiles, 'broker_url') and _session_profiles.broker_url is not None: - print "X2Go Session Broker URL: %s" % _session_profiles.broker_url - print + print("X2Go Session Broker URL: %s" % _session_profiles.broker_url) + print() for _profile_id in _session_profiles.profile_ids: _profile_config = _session_profiles.get_profile_config(_profile_id) _session_params = _session_profiles.to_session_params(_profile_id) - print 'Profile ID: %s' % _profile_id - print 'Profile Name: %s' % _session_params['profile_name'] - print 'Profile Configuration:' + print('Profile ID: %s' % _profile_id) + print('Profile Name: %s' % _session_params['profile_name']) + print('Profile Configuration:') pprint.pprint(_profile_config) - print 'Derived session parameters:' + print('Derived session parameters:') pprint.pprint(_session_params) - print + print() # done sys.exit(0) @@ -455,16 +455,16 @@ class PyHocaCLI(x2go.X2GoClient): self._X2GoClient__connect_session(self.x2go_session_hash, username=_username, password=self.args.password, force_password_auth=force_password_auth) connected = True force_password_auth = False - except x2go.PasswordRequiredException, e: + except x2go.PasswordRequiredException as e: self._pyhoca_logger('unlock SSH key file (%s)' % self.args.ssh_privkey, loglevel=x2go.loglevel_NOTICE, ) self.args.password = getpass.getpass() - except x2go.AuthenticationException, e: + except x2go.AuthenticationException as e: force_password_auth = True self._pyhoca_logger('passwordless login for ,,%s\'\' failed' % _username, loglevel=x2go.loglevel_WARN, ) self._pyhoca_logger('proceeding to interactive login for user ,,%s\'\'' % _username, loglevel=x2go.loglevel_NOTICE, ) 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: + except x2go.SSHException as e: if str(e) not in ('not a valid DSA private key file', 'Incompatible ssh peer (no acceptable kex algorithm)', 'No authentication methods available'): self._runtime_error(str(e), exitcode=253) force_password_auth = True @@ -491,7 +491,7 @@ class PyHocaCLI(x2go.X2GoClient): else: self._runtime_error('non-interactive authentication failed', exitcode=-203) - except socket.error, e: + except socket.error as e: self._runtime_error('a socket error occured while establishing the connection: %s' % str(e), exitcode=-245) def MainLoop(self): @@ -603,6 +603,6 @@ class PyHocaCLI(x2go.X2GoClient): time.sleep(2) self._pyhoca_logger("X2Go session %s has been suspended" % session_name, loglevel=x2go.loglevel_NOTICE, ) - except x2go.X2GoSessionException, e: + except x2go.X2GoSessionException as e: self._pyhoca_logger("X2GoSessionException occured:", loglevel=x2go.loglevel_ERROR) self._pyhoca_logger("-> %s" % str(e), loglevel=x2go.loglevel_ERROR) diff --git a/setup.py b/setup.py index 78cdb9d..03e52dc 100755 --- a/setup.py +++ b/setup.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Copyright (C) 2010-2016 by Mike Gabriel <mike.gabriel@das-netzwerkteam.de> -- Alioth's /srv/git/code.x2go.org/pyhoca-cli.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/pyhoca-cli.git