The branch, build-main has been updated via d549b9586085be3b8330ebb9578a6551aaf75ca0 (commit) via 96d89e9d40e876eb8e4934e592ed083ab08fda81 (commit) via eef50e9f71c5616e794f914304b57755294d3db3 (commit) via 462a868ec6146a61800811b042fc08e3707a1bf0 (commit) via 98c7d7171306122d7ef06d7a8648ecee2c35aa1c (commit) via 98e1f92241ec398173f140f0f7ccd6baa604a316 (commit) via a13a51e90ea824cf730c66e5c3b4fe24ece82b5b (commit) via 7f734774dd333ea3f917e811c05970013556ab69 (commit) via 2ebe70d85b59ff245361bf1d5cc42aa17029466b (commit) from 5130c68a32059081564bea14d8c497dd83a32918 (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 | 25 +++++++++-- debian/control | 1 - man/man1/pyhoca-cli.1 | 6 +-- pyhoca-cli | 10 ++--- pyhoca/cli/__init__.py | 2 +- pyhoca/cli/frontend.py | 110 ++++++++++++++++++++++++------------------------ setup.py | 10 ++++- 7 files changed, 94 insertions(+), 70 deletions(-) The diff of changes is: diff --git a/debian/changelog b/debian/changelog index 7521d2c..ff313e7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,23 @@ +pyhoca-cli (0.4.0.0-0~x2go1) unstable; urgency=low + + [ Orion Poplawski ] + * New upstream version (0.4.0.0): + - Importing all of pyhoca.cli in setup.py causes rpmbuild problems due + to DISPLAY not being set. It is overkill as well, causing extra + dependencies to be installed at build time. (Fixes: #91). + + [ Mike Gabriel ] + * Bump version to 0.4.0.0. + * WARNING: starting with version 0.4.0.0 of PyHoca-GUI, PyHoca-CLI and Python + X2Go, all class identifiers are now X2Go..., not X2go... anymore. + * New upstream version (0.4.0.0): + - Adapt PyHoca-CLI to API change of Python X2Go. + * /debian/control: + + Thanks to Orion's patch in bug #91 we can drop build dependency on + python-x2go. + + -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Tue, 12 Feb 2013 20:35:42 +0100 + pyhoca-cli (0.2.1.0-0~x2go1) unstable; urgency=low * New upstream version (0.2.1.0): @@ -71,8 +91,7 @@ pyhoca-cli (0.1.4.2-0~x2go1) unstable; urgency=low all sessions of the connecting user. - Allow ,,ALL'' as session name when terminating -> will terminate all sessions of the connecting user. - - Allow ,,NEWEST'' and ,,OLDEST'' as session name when resuming (closes - upstream issue #86). + - Allow ,,NEWEST'' and ,,OLDEST'' as session name when resuming. - Add cmd line option --terminate-on-ctrl-c. - Add cmd line option --auth-attempts. @@ -100,7 +119,7 @@ pyhoca-cli (0.1.4.0-0~x2go4) unstable; urgency=low - Add X2Go desktop sharing support. - Terminate shared desktop sessions of Ctrl-C (instead of suspending them. - * React to bug #627990, prefer man2html-base over man2html. + * React to Debian bug #627990, prefer man2html-base over man2html. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Fri, 01 Jul 2011 14:52:29 +0200 diff --git a/debian/control b/debian/control index dfcb0f1..fdde5a4 100644 --- a/debian/control +++ b/debian/control @@ -9,7 +9,6 @@ Build-Depends: man2html-base | man2html, python (>=2.6.5-0~), python-setuptools, - python-x2go Standards-Version: 3.9.3 Homepage: http://code.x2go.org/releases/source/pyhoca-cli Vcs-Git: git://code.x2go.org/pyhoca-cli.git diff --git a/man/man1/pyhoca-cli.1 b/man/man1/pyhoca-cli.1 index d88b486..f87985d 100644 --- a/man/man1/pyhoca-cli.1 +++ b/man/man1/pyhoca-cli.1 @@ -53,9 +53,9 @@ Enable debugging output. Enable debugging code of the unterlying Python X2Go module. .TP \*(T<\fB\-\-libdebug-sftpxfer\fR\*(T> -Enable debugging code of Python X2go's sFTP server code (very verbose, and it may even reveal promiscuous data). +Enable debugging code of Python X2Go's sFTP server code (very verbose, and it may even reveal promiscuous data). .SH SERVER / SESSION PROFILE -You either have to specify a server name or a pre-configured X2goClient session profile to tell \fBpyhoca-cli\fR to +You either have to specify a server name or a pre-configured X2GoClient session profile to tell \fBpyhoca-cli\fR to what X2Go server to connect. \fBpyhoca-cli\fR will not start if neither of these two options has been given on the command line. .TP @@ -184,7 +184,7 @@ Compatibility option, synonymous to \fB\-\-ssh-privkey\fR \fISSH_KEY\fR. Compatibility option, synonymous to \fB\-\-sound\fR \fI{pulse|none}\fR. .TP \*(T<\fB\-\-client-ssh-port\fR \fI<PORT>\fR\*(T> -Compatibility option for the x2goclient GUI. PyHoca-Cli (resp. Python X2go) brings its own internal sFTP server. Thus, this option will be ignored. +Compatibility option for the x2goclient GUI. PyHoca-Cli (resp. Python X2Go) brings its own internal sFTP server. Thus, this option will be ignored. .SH NX COMPRESSION METHODS As NX compression methods (\fB--pack\fR option) the following values are possible. The % character must be replaced by a digit 0-9. .PP diff --git a/pyhoca-cli b/pyhoca-cli index 4e48dee..122a590 100755 --- a/pyhoca-cli +++ b/pyhoca-cli @@ -118,8 +118,8 @@ VERSION: %s PRINT_ACTIONS = X2GO_PRINT_ACTIONS.keys() -logger = x2go.X2goLogger() -liblogger = x2go.X2goLogger() +logger = x2go.X2GoLogger() +liblogger = x2go.X2GoLogger() ### ### command line arguments @@ -147,7 +147,7 @@ debug_options = [ {'args':['-d','--debug'], 'default': False, 'action': 'store_true', 'help': 'enable application debugging code', }, {'args':['--quiet'], 'default': False, 'action': 'store_true', 'help': 'disable any kind of log output', }, {'args':['--libdebug'], 'default': False, 'action': 'store_true', 'help': 'enable debugging code of the underlying Python X2Go module', }, - {'args':['--libdebug-sftpxfer'], 'default': False, 'action': 'store_true', 'help': 'enable debugging code of Python X2go\'s sFTP server code (very verbose, and even promiscuous)', }, + {'args':['--libdebug-sftpxfer'], 'default': False, 'action': 'store_true', 'help': 'enable debugging code of Python X2Go\'s sFTP server code (very verbose, and even promiscuous)', }, {'args':['-V', '--version'], 'default': False, 'action': 'store_true', 'help': 'print version number and exit', }, ] # possible programme options are @@ -338,7 +338,7 @@ Possible values for the --pack NX option are: if a.server: - ##### TODO: ssh_config to be moved into Python X2go!!!! + ##### TODO: ssh_config to be moved into Python X2Go!!!! ### ### initialize SSH context ### @@ -388,7 +388,7 @@ if __name__ == '__main__': if args.list_profiles: - _session_profiles = x2go.X2goSessionProfiles() + _session_profiles = x2go.X2GoSessionProfiles() # retrieve a session list print print "Available X2Go session profiles" diff --git a/pyhoca/cli/__init__.py b/pyhoca/cli/__init__.py index dcc9c61..8e65906 100644 --- a/pyhoca/cli/__init__.py +++ b/pyhoca/cli/__init__.py @@ -25,6 +25,6 @@ For further information on X2Go, please visit the X2Go wiki: http://wiki.x2go.org """ -__VERSION__ = "0.2.1.0" +__VERSION__ = "0.2.1.1" from frontend import * diff --git a/pyhoca/cli/frontend.py b/pyhoca/cli/frontend.py index d1fc341..6c68891 100644 --- a/pyhoca/cli/frontend.py +++ b/pyhoca/cli/frontend.py @@ -64,9 +64,9 @@ def runtime_error(m, parser=None, exitcode=-1): sys.exit(exitcode) -class PyHocaCLI(x2go.X2goClient): +class PyHocaCLI(x2go.X2GoClient): """\ - L{PyHocaCLI} is a command-line X2Go Client wrapping around Python X2Go (C{X2goClient} class). + L{PyHocaCLI} is a command-line X2Go Client wrapping around Python X2Go (C{X2GoClient} class). """ x2go_session_hash = None @@ -88,11 +88,11 @@ class PyHocaCLI(x2go.X2goClient): 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) + _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 - session_infos = self._X2goClient__list_sessions(s_hash) + session_infos = self._X2GoClient__list_sessions(s_hash) if session_infos: for session_info in session_infos.values(): print "Session Name: %s" % session_info @@ -130,11 +130,11 @@ class PyHocaCLI(x2go.X2goClient): 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) + _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 - desktop_list = self._X2goClient__list_desktops(s_hash) + desktop_list = self._X2GoClient__list_desktops(s_hash) if desktop_list: for desktop_name in desktop_list: print desktop_name @@ -153,7 +153,7 @@ class PyHocaCLI(x2go.X2goClient): print print "Available X2Go session profiles" print "===============================" - _profiles = self._X2goClient__get_profiles() + _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) @@ -170,18 +170,18 @@ class PyHocaCLI(x2go.X2goClient): @type s_hash: C{str} """ - _profiles = self._X2goClient__get_profiles() + _profiles = self._X2GoClient__get_profiles() if self.args.session_profile and _profiles.has_profile(self.args.session_profile): _server = _profiles.get_session_param(self.args.session_profile, 'server') else: _server = self.args.server # clean all sessions from X2Go server self.logger('cleaning up all running sessions from X2Go server: %s' % _server, loglevel=x2go.loglevel_NOTICE, ) - self._X2goClient__clean_sessions(s_hash) + self._X2GoClient__clean_sessions(s_hash) def new_session(self, s_hash): """\ - Launch a new X2Go session via the C{X2goSession} object with session UUID C{s_hash}. + Launch a new X2Go session via the C{X2GoSession} object with session UUID C{s_hash}. @param s_hash: session UUID @type s_hash: C{str} @@ -193,29 +193,29 @@ class PyHocaCLI(x2go.X2goClient): self.logger('command for new session is: %s' % self.args.command, loglevel=x2go.loglevel_DEBUG, ) else: self.logger('command from session profile to run is: %s' % self.session_registry(self.x2go_session_hash).get_session_cmd(), loglevel=x2go.loglevel_DEBUG, ) - self._X2goClient__start_session(s_hash) + self._X2GoClient__start_session(s_hash) def _auto_resume_newest(self, s_hash): - session_infos = self._X2goClient__list_sessions(s_hash) + session_infos = self._X2GoClient__list_sessions(s_hash) if session_infos: newest_session_name = x2go.utils.session_names_by_timestamp(session_infos)[-1] self._pyhoca_logger("Resuming newest X2Go session %s..." % newest_session_name, loglevel=x2go.loglevel_NOTICE, ) - self._X2goClient__resume_session(s_hash, newest_session_name) + self._X2GoClient__resume_session(s_hash, newest_session_name) return True return False def _auto_resume_oldest(self, s_hash): - session_infos = self._X2goClient__list_sessions(s_hash) + session_infos = self._X2GoClient__list_sessions(s_hash) if session_infos: oldest_session_name = x2go.utils.session_names_by_timestamp(session_infos)[0] self._pyhoca_logger("Resuming oldest X2Go session %s..." % oldest_session_name, loglevel=x2go.loglevel_NOTICE, ) - self._X2goClient__resume_session(s_hash, oldest_session_name) + self._X2GoClient__resume_session(s_hash, oldest_session_name) return True return False def resume_session(self, s_hash): """\ - Use C{X2goSession} object with session UUID C{s_hash} to resume a server-side suspended X2Go session. + Use C{X2GoSession} object with session UUID C{s_hash} to resume a server-side suspended X2Go session. @param s_hash: session UUID @type s_hash: C{str} @@ -223,19 +223,19 @@ class PyHocaCLI(x2go.X2goClient): """ # resume a running session self.logger('resuming X2Go session: %s' % self.args.resume, loglevel=x2go.loglevel_INFO, ) - available_sessions = self._X2goClient__list_sessions(s_hash) + available_sessions = self._X2GoClient__list_sessions(s_hash) if available_sessions and self.args.resume == 'OLDEST': 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(): - self._X2goClient__resume_session(s_hash, self.args.resume) + 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) def share_desktop_session(self, s_hash): """\ - Use C{X2goSession} object with session UUID C{s_hash} to share a server-side X2Go desktop session that is available for sharing. + Use C{X2GoSession} object with session UUID C{s_hash} to share a server-side X2Go desktop session that is available for sharing. @param s_hash: session UUID @type s_hash: C{str} @@ -246,8 +246,8 @@ class PyHocaCLI(x2go.X2goClient): _share_mode = self.args.share_mode 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: + self._X2GoClient__share_desktop_session(s_hash, desktop=_desktop, share_mode=_share_mode) + except x2go.X2GoDesktopSharingException, e: self._runtime_error('%s' % str(e), exitcode=54) @@ -261,7 +261,7 @@ class PyHocaCLI(x2go.X2goClient): """ # send a suspend request to a session self.logger('requesting X2Go session suspend of session: %s' % self.args.suspend, loglevel=x2go.loglevel_INFO, ) - available_sessions = self._X2goClient__list_sessions(s_hash) + available_sessions = self._X2GoClient__list_sessions(s_hash) if self.args.suspend == "ALL": _session_names = available_sessions @@ -270,7 +270,7 @@ class PyHocaCLI(x2go.X2goClient): for _session_name in _session_names: if _session_name in available_sessions.keys(): - self._X2goClient__suspend_session(s_hash, _session_name) + self._X2GoClient__suspend_session(s_hash, _session_name) self._pyhoca_logger("X2Go session %s has been suspended" % _session_name, loglevel=x2go.loglevel_NOTICE, ) else: _server = self.args.server @@ -290,7 +290,7 @@ class PyHocaCLI(x2go.X2goClient): """ # send a terminate request to a session self.logger('requesting X2Go session terminate of session: %s' % self.args.terminate, loglevel=x2go.loglevel_INFO, ) - available_sessions = self._X2goClient__list_sessions(s_hash) + available_sessions = self._X2GoClient__list_sessions(s_hash) if self.args.terminate == "ALL": _session_names = available_sessions @@ -299,7 +299,7 @@ class PyHocaCLI(x2go.X2goClient): for _session_name in _session_names: if _session_name in available_sessions.keys(): - self._X2goClient__terminate_session(s_hash, _session_name) + self._X2GoClient__terminate_session(s_hash, _session_name) self._pyhoca_logger("X2Go session %s has been terminated" % _session_name, loglevel=x2go.loglevel_NOTICE, ) else: _server = self.args.server @@ -315,27 +315,27 @@ class PyHocaCLI(x2go.X2goClient): @param args: a class with properties representing the command-line options that are available to L{PyHocaCLI} instances. @type args: C{argparse.ArgumentParser} (or similar) - @param logger: you can pass an L{X2goLogger} object to the + @param logger: you can pass an L{X2GoLogger} object to the L{PyHocaCLI} constructor for logging application events - @type logger: Python X2Go C{X2goLogger} instance - @param liblogger: you can pass an L{X2goLogger} object to the - L{PyHocaCLI} constructor for logging application events, this object is forwarded to the C{X2goClient} class in Python X2Go - @type liblogger: Python X2Go C{X2goLogger} instance + @type logger: Python X2Go C{X2GoLogger} instance + @param liblogger: you can pass an L{X2GoLogger} object to the + L{PyHocaCLI} constructor for logging application events, this object is forwarded to the C{X2GoClient} class in Python X2Go + @type liblogger: Python X2Go C{X2GoLogger} instance """ self.args = args if logger is None: - self._pyhoca_logger = x2go.X2goLogger(tag='PyHocaCLI') + self._pyhoca_logger = x2go.X2GoLogger(tag='PyHocaCLI') else: self._pyhoca_logger = copy.deepcopy(logger) self._pyhoca_logger.tag = 'PyHocaCLI' - # initialize the X2goClient context and start the connection to the X2Go server + # initialize the X2GoClient context and start the connection to the X2Go server self._pyhoca_logger('preparing requested X2Go session', loglevel=x2go.loglevel_NOTICE, ) - x2go.X2goClient.__init__(self, logger=liblogger) + x2go.X2GoClient.__init__(self, logger=liblogger) - _profiles = self._X2goClient__get_profiles() + _profiles = self._X2GoClient__get_profiles() if self.args.session_profile and not _profiles.has_profile(self.args.session_profile): self._runtime_error('no such session profile of name: %s' % (self.args.session_profile), exitcode=31) @@ -364,7 +364,7 @@ class PyHocaCLI(x2go.X2goClient): 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, + self.x2go_session_hash = self._X2GoClient__register_session(profile_name=self.args.session_profile, known_hosts=ssh_known_hosts_filename, **kwargs ) @@ -372,7 +372,7 @@ class PyHocaCLI(x2go.X2goClient): 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), + self.x2go_session_hash = self._X2GoClient__register_session(args.server, port=int(self.args.remote_ssh_port), known_hosts=ssh_known_hosts_filename, username=self.args.username, key_filename=self.args.ssh_privkey, @@ -399,13 +399,13 @@ class PyHocaCLI(x2go.X2goClient): """ connected = False force_password_auth = False - _username = self.args.username or self._X2goClient__get_session_username(self.x2go_session_hash) + _username = self.args.username or self._X2GoClient__get_session_username(self.x2go_session_hash) try: _auth_count = self.auth_attempts +1 while not connected and _auth_count: try: - self._X2goClient__connect_session(self.x2go_session_hash, username=_username, password=self.args.password, force_password_auth=force_password_auth) + self._X2GoClient__connect_session(self.x2go_session_hash, username=_username, password=self.args.password, force_password_auth=force_password_auth) connected = True except x2go.AuthenticationException, e: force_password_auth = True @@ -493,10 +493,10 @@ class PyHocaCLI(x2go.X2goClient): time.sleep(1) i+=1 - if self._X2goClient__session_ok(self.x2go_session_hash): + 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) + 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, loglevel=x2go.loglevel_INFO, ) self._pyhoca_logger("X2Go session name is: %s" % session_name, loglevel=x2go.loglevel_INFO, ) @@ -514,7 +514,7 @@ class PyHocaCLI(x2go.X2goClient): session_duration = 0 mounted = False - while self._X2goClient__session_ok(self.x2go_session_hash): + while self._X2GoClient__session_ok(self.x2go_session_hash): time.sleep(2) session_duration +=2 @@ -522,35 +522,35 @@ class PyHocaCLI(x2go.X2goClient): time.sleep(2) # refresh session status so we can be most accurate on what we report below - self._X2goClient__list_sessions(self.x2go_session_hash) + self._X2GoClient__list_sessions(self.x2go_session_hash) # report about the session status once we get here... - if self._X2goClient__has_session_terminated(self.x2go_session_hash): + if self._X2GoClient__has_session_terminated(self.x2go_session_hash): self._pyhoca_logger("X2Go session %s has terminated" % session_name, loglevel=x2go.loglevel_NOTICE, ) - elif self._X2goClient__is_session_suspended(self.x2go_session_hash): + elif self._X2GoClient__is_session_suspended(self.x2go_session_hash): self._pyhoca_logger("X2Go session %s has been suspended" % session_name, loglevel=x2go.loglevel_NOTICE, ) - elif self._X2goClient__is_session_running(self.x2go_session_hash): + elif self._X2GoClient__is_session_running(self.x2go_session_hash): self._pyhoca_logger("X2Go session %s has been moved to a different screen" % session_name, loglevel=x2go.loglevel_NOTICE, ) except KeyboardInterrupt: if self.args.share_desktop: self._pyhoca_logger("Terminating X2Go shared desktop session %s" % session_name, loglevel=x2go.loglevel_INFO, ) - self._X2goClient__terminate_session(self.x2go_session_hash) + self._X2GoClient__terminate_session(self.x2go_session_hash) time.sleep(2) self._pyhoca_logger("X2Go session %s has been terminated" % session_name, loglevel=x2go.loglevel_NOTICE, ) elif self.args.terminate_on_ctrl_c: self._pyhoca_logger("Terminating X2Go session %s" % session_name, loglevel=x2go.loglevel_INFO, ) - self._X2goClient__terminate_session(self.x2go_session_hash) + self._X2GoClient__terminate_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 terminated" % session_name, loglevel=x2go.loglevel_NOTICE, ) else: self._pyhoca_logger("Suspending X2Go session %s" % session_name, loglevel=x2go.loglevel_INFO, ) - self._X2goClient__suspend_session(self.x2go_session_hash) + 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, loglevel=x2go.loglevel_NOTICE, ) - except x2go.X2goSessionException, e: - self._pyhoca_logger("X2goSessionException occured:", loglevel=x2go.loglevel_ERROR) + except x2go.X2GoSessionException, 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 548553a..234babb 100755 --- a/setup.py +++ b/setup.py @@ -18,12 +18,18 @@ # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +import os + from setuptools import setup, find_packages -import pyhoca.cli + +for line in file(os.path.join('pyhoca', 'cli', '__init__.py')).readlines(): + if (line.startswith('__VERSION__')): + exec(line.strip()) +PROGRAM_VERSION = __VERSION__ setup( name = "PyHoca-CLI", - version = pyhoca.cli.__VERSION__, + version = PROGRAM_VERSION, description = "PyHoca-CLI is a cross-platform (Windows, MacOS X, Linux) X2Go client for the command line.", license = 'AGPLv3+', author = 'Mike Gabriel', hooks/post-receive -- pyhoca-cli.git (Python X2Go Client (command line client)) 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 "pyhoca-cli.git" (Python X2Go Client (command line client)).