[X2Go-Commits] pyhoca-gui.git - build-59a18b6e3b5d3f1dd8f07f26433d37fe5984a57d (branch) updated: 01a93b762fa3bc7a7fd8ba96284663f79614e0d4
X2Go dev team
git-admin at x2go.org
Tue Aug 27 13:20:47 CEST 2013
The branch, build-59a18b6e3b5d3f1dd8f07f26433d37fe5984a57d has been updated
via 01a93b762fa3bc7a7fd8ba96284663f79614e0d4 (commit)
from 5691ba40755a1012db3ba44627c3519e5ea4f13f (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/control | 2 +-
pyhoca-gui | 120 +++++++++++++++++++++++++++-------------------
pyhoca/wxgui/__init__.py | 2 +-
3 files changed, 74 insertions(+), 50 deletions(-)
The diff of changes is:
diff --git a/debian/control b/debian/control
index 5b240ac..e7d34c2 100644
--- a/debian/control
+++ b/debian/control
@@ -9,7 +9,7 @@ XS-Python-Version: >= 2.6
Package: pyhoca-gui
Architecture: all
-Depends: ${misc:Depends}, python, python-x2go (>=0.0.24-0~nwt1), python-argparse, python-notify,
+Depends: ${misc:Depends}, python, python-x2go (>=0.0.24-0~nwt1), python-argparse, python-notify, python-setproctitle (>=1.0.1-1)
wx-common(>=2.8.10.0), python-wxtools (>=2.8.10.0)
Description: An graphical X2go client written in (wx)Python
A graphical X2go client implementation written in (wx)Python.
diff --git a/pyhoca-gui b/pyhoca-gui
index badedff..baea2d1 100755
--- a/pyhoca-gui
+++ b/pyhoca-gui
@@ -38,35 +38,30 @@ except: pass
import argparse
import os
-import os.path
import sys
import exceptions
+import setproctitle
-app = sys.argv[0]
-if app.startswith('./') or os.path.dirname(__file__).endswith('trunk'):
- sys.path.insert(0, os.path.join(os.path.dirname(__file__)))
- os.environ['PYHOCAGUI_DEVELOPMENT'] = '1'
- print '### PyHoca-GUI running in development mode ###'
+PROG_NAME = os.path.basename(__file__)
+PROG_PID = os.getpid()
+setproctitle.setproctitle(PROG_NAME)
# Python X2go modules
-import x2go
+from x2go import X2GOCLIENT_OS as _X2GOCLIENT_OS
+from x2go import CURRENT_LOCAL_USER as _CURRENT_LOCAL_USER
+if _X2GOCLIENT_OS == 'Windows':
+ from x2go import X2goClientXConfig as _X2goClientXConfig
+from x2go import X2goLogger as _X2goLogger
+from x2go import x2go_cleanup as _x2go_cleanup
+from pyhoca.wxgui import __VERSION__ as _version
from pyhoca.wxgui import PyHocaGUI
-# sometimes we have to fail...
-def runtime_error(m, parser=None, exitcode=-1):
- """\
- STILL UNDOCUMENTED
- """
- if parser is not None:
- parser.print_usage()
- sys.stderr.write ("%s: error: %s\n" % (os.path.basename(sys.argv[0]), m))
- sys.exit(exitcode)
+
+__author__ = "Dick J. Kniep, Mike Gabriel"
+__version__ = _version
# version information
-PROG_NAME = os.path.basename(sys.argv[0])
-PROG_PID = os.getpid()
-from pyhoca.wxgui import __VERSION__ as _version
VERSION=_version
VERSION_TEXT="""
%s[%s] - an X2go GUI client written in Python
@@ -78,14 +73,56 @@ VERSION: %s
""" % (PROG_NAME, PROG_PID, VERSION)
-__author__ = "Dick J. Kniep, Mike Gabriel"
-__version__ = _version
-if x2go.X2GOCLIENT_OS == 'Windows':
- _x = x2go.xserver.X2goClientXConfig()
+def check_running():
+ if _X2GOCLIENT_OS in ('Linux', 'Mac'):
+ p = subprocess.Popen(['ps', '-A'], stdout=subprocess.PIPE)
+ psA_out = p.communicate()
+ return psA_out[0].count(PROG_NAME) > 1
+ elif X2GOCLIENT_OS == 'Windows':
+ import wmi
+ w = wmi.WMI()
+ _p_names = []
+ for process in _wmi.Win32_Process():
+ _p_names.append(process.Name)
+ return len([ _p_name for _p_name in _p_names if _p_name == PROG_NAME) > 1
+
+
+def version():
+ # print version text and exit
+ sys.stderr.write ("%s\n" % VERSION_TEXT)
+ sys.exit(0)
+
+
+# sometimes we have to fail...
+def runtime_error(m, parser=None, exitcode=-1):
+ """\
+ STILL UNDOCUMENTED
+ """
+ if parser is not None:
+ parser.print_usage()
+ sys.stderr.write ("%s: error: %s\n" % (PROG_NAME, m))
+ sys.exit(exitcode)
+
+
+if check_running():
+ sys.stderr.write("\n###############################\n### %s: already running for user %s\n###############################\n" % (PROG_NAME, _CURRENT_LOCAL_USER))
+ version()
+
+
+app = sys.argv[0]
+if app.startswith('./') or os.path.dirname(__file__).endswith('trunk'):
+ sys.path.insert(0, os.path.join(os.path.dirname(__file__)))
+ os.environ['PYHOCAGUI_DEVELOPMENT'] = '1'
+ print '### PyHoca-GUI running in development mode ###'
+
+
+if _X2GOCLIENT_OS == 'Windows':
+ _x = _X2goClientXConfig()
_known_xservers = _x.known_xservers
_installed_xservers = _x.installed_xservers
+
# debug options...
debug_options = [
{'args':['-d','--debug'], 'default': False, 'action': 'store_true', 'help': 'enable application debugging code', },
@@ -105,12 +142,13 @@ x2go_gui_options = [
{'args':['--disable-options'], 'default': False, 'action': 'store_true', 'help': 'disable the client options configuration window', },
{'args':['--disable-profilemanager'], 'default': False, 'action': 'store_true', 'help': 'disable the session profile manager window', },
]
-if x2go.X2GOCLIENT_OS == 'Windows':
+if _X2GOCLIENT_OS == 'Windows':
xserver_options = [
{'args':['--start-xserver'], 'default': False, 'action': 'store_true', 'help': 'start the XServer before starting PyHoca-GUI, detect best XServer automatically, if more than one XServer is installed on your system', },
{'args':['-X', '--preferred-xserver'], 'default': None, 'metavar': 'XSERVER', 'choices': _known_xservers, 'help': 'start either of the currently supported XServers: %s -- make sure your preferred XServer is installed on your system' % _known_xservers, },
]
+
def parseargs():
global DEBUG
@@ -123,7 +161,7 @@ def parseargs():
p_guiopts = p.add_argument_group('PyHoca GUI options')
p_xserveropts = p.add_argument_group('XServer options (MS Windows only)')
- if x2go.X2GOCLIENT_OS == 'Windows':
+ if _X2GOCLIENT_OS == 'Windows':
_option_groups = ((p_guiopts, x2go_gui_options), (p_debugopts, debug_options), (p_xserveropts, xserver_options))
else:
_option_groups = ((p_guiopts, x2go_gui_options), (p_debugopts, debug_options))
@@ -137,8 +175,8 @@ def parseargs():
a = p.parse_args()
- logger = x2go.X2goLogger(tag='PyHoca-GUI')
- liblogger = x2go.X2goLogger()
+ logger = _X2goLogger(tag='PyHoca-GUI')
+ liblogger = _X2goLogger()
if a.debug:
logger.set_loglevel_debug()
@@ -153,36 +191,22 @@ def parseargs():
version()
if a.username is None:
- a.username = x2go.CURRENT_LOCAL_USER
+ a.username = _CURRENT_LOCAL_USER
- if x2go.X2GOCLIENT_OS == 'Windows' and a.preferred_xserver:
+ if _X2GOCLIENT_OS == 'Windows' and a.preferred_xserver:
if a.preferred_xserver not in _installed_xservers:
runtime_error('Xserver ,,%s\'\' is not installed on your Windows system' % a.preferred_xserver, parser=p)
a.start_xserver = a.preferred_xserver
return a, logger, liblogger
-# print version text and exit
-def version():
-
- sys.stderr.write ("%s\n" % VERSION_TEXT)
- sys.exit(0)
-
-def check_running(logger):
- if x2go.X2GOCLIENT_OS in ('Linux', 'Mac'):
- p = subprocess.Popen(['ps', '-A'], stdout=subprocess.PIPE)
- psA_out = p.communicate()
- #logger('psa_out %s' % (psA_out,), x2go.loglevel_DEBUG )
- return psA_out[0].count(PROG_NAME) > 1
- elif x2go.X2GOCLIENT_OS == 'Windows':
- # TODO!!!
- return False
-
def main():
args, logger, liblogger = parseargs()
- if check_running(logger): sys.exit(0)
- thisPyHocaGUI = PyHocaGUI(args, logger, liblogger)
- thisPyHocaGUI.MainLoop()
+ try:
+ thisPyHocaGUI = PyHocaGUI(args, logger, liblogger)
+ thisPyHocaGUI.MainLoop()
+ except KeyboardInterrupt:
+ _x2go_cleanup()
if __name__ == '__main__':
main()
diff --git a/pyhoca/wxgui/__init__.py b/pyhoca/wxgui/__init__.py
index e078a4d..1234adb 100644
--- a/pyhoca/wxgui/__init__.py
+++ b/pyhoca/wxgui/__init__.py
@@ -18,6 +18,6 @@
# Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-__VERSION__ = '0.0.14'
+__VERSION__ = '0.0.15'
from frontend import *
\ No newline at end of file
hooks/post-receive
--
pyhoca-gui.git (Python X2Go Client (wxPython GUI))
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-gui.git" (Python X2Go Client (wxPython GUI)).
More information about the x2go-commits
mailing list