[X2Go-Commits] python-x2go.git - build-baikal (branch) updated: 4590e1de20bab53d815f04aa7c7e03eb69443df0
X2Go dev team
git-admin at x2go.org
Wed Jan 8 15:25:26 CET 2014
The branch, build-baikal has been updated
via 4590e1de20bab53d815f04aa7c7e03eb69443df0 (commit)
from 68ced82549d5b7854251980569e5d181b5ec2aa5 (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:
x2go/defaults.py | 18 ++++++++++++----
x2go/inifiles.py | 6 +++---
x2go/xserver.py | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++----
3 files changed, 74 insertions(+), 11 deletions(-)
The diff of changes is:
diff --git a/x2go/defaults.py b/x2go/defaults.py
index bea94b6..e35887d 100644
--- a/x2go/defaults.py
+++ b/x2go/defaults.py
@@ -161,10 +161,20 @@ X2GO_CLIENTPRINTING_DEFAULTS = {
},
}
X2GO_CLIENTXCONFIG_DEFAULTS = {
- 'XServer': {
- 'binary':'XMing',
- 'parameters':'',
- 'stopcommand':''
+ 'XServers': {
+ 'known_xservers': ['XMing', 'Cygwin-X', ],
+ },
+ 'Cygwin-X': {
+ 'process_name': 'XWin.exe',
+ 'test_available': '%s\cygwin\bin\startxwin.exe' % os.environ['SystemDrive'],
+ 'run_command':'%s\cygwin\bin\run.exe /usr/bin/bash.exe -l -c /usr/bin/startxwin.exe' % os.environ['SystemDrive'],
+ 'parameters':[],
+ }
+ 'XMing': {
+ 'process_name': 'XMing.exe',
+ 'test_available':'%s\Xming\Xming.exe' % os.environ['ProgramFiles'],
+ 'run_command':'%s\Xming\Xming.exe' % os.environ['ProgramFiles'],
+ 'parameters': [':0', '-clibboard', '-multiwindow',]
}
}
diff --git a/x2go/inifiles.py b/x2go/inifiles.py
index 24282b5..0d6c8c1 100644
--- a/x2go/inifiles.py
+++ b/x2go/inifiles.py
@@ -239,8 +239,8 @@ class X2goIniFile(object):
return "<%s instance: %s>" % (self.__class__, self.name)
def __init__(self, name):
self.name = name
- def set_option(self, option_name, value):
- setattr(self, option_name, value)
+ def set_option(self, option_name.lower(), value):
+ setattr(self, option_name.lower(), value)
for section_name in self.iniConfig.sections():
section = ini_section(section_name)
@@ -249,7 +249,7 @@ class X2goIniFile(object):
section.set_option(option_name, self.get(section.name, option_name, self.get_type(section.name, option_name)))
else:
section.set_option(option_name, self.get(section.name, option_name))
- setattr(self, section.name, section)
+ setattr(self, section.name.lower(), section)
@property
def printable_config_file(self):
diff --git a/x2go/xserver.py b/x2go/xserver.py
index 77058fe..4175afe 100644
--- a/x2go/xserver.py
+++ b/x2go/xserver.py
@@ -73,6 +73,51 @@ class X2goClientXConfig(inifiles.X2goIniFile):
"""
inifiles.X2goIniFile.__init__(self, config_files, defaults=defaults, logger=logger, loglevel=loglevel)
+ def get_xserver_config(self, xserver_name):
+ _xserver_config = {}
+ for option in self.iniConfig.options(_profile_id):
+ _profile_config[option] = self.get(_profile_id, option, key_type=self.get_profile_option_type(option))
+ return _profile_config
+
+ @property
+ def known_xservers(self):
+ """\
+ STILL UNDOCUMENTED
+
+ """
+ return self.xservers.known_xservers
+
+ @property
+ def installed_xservers(self):
+ """\
+ STILL UNDOCUMENTED
+
+ """
+ _installed = []
+ for xserver_name in self.known_xservers:
+ if os.path.exists(os.path.normpath(self.get_xserver_config(xserver_name)):
+ _installed.append(xserver_name)
+ return _installed
+
+ def running_xservers(self):
+ """\
+ STILL UNDOCUMENTED
+
+ """
+ _running = []
+ for xserver_name in self.known_xservers:
+
+ process_name = self.get_xserver_config(xserver_name)['process_name']
+ for line in os.popen("ps xa"):
+ fields = line.split()
+ pid = fields[0]
+ process = fields[4]
+
+ if process.find(process_name) > 0:
+ # XServer is already running
+ _running.append(nick_name)
+ return _running
+
class X2goXServer(threading.Thread):
"""
@@ -82,16 +127,24 @@ class X2goXServer(threading.Thread):
def __init__(self, XServerParms):
- processname = XServerParms.binary
+ for
+
+ process_name = XServerParms.process_name
for line in os.popen("ps xa"):
fields = line.split()
pid = fields[0]
process = fields[4]
- if process.find(XServerParms.binary) > 0:
+ if process.find(process_name) > 0:
# XServer is already running
return
- p = subprocess.Popen([XServerParms.binary,XServerParms.parameters], shell=True)
- sts = os.waitpid(p.pid, 0)[1]
+ self.XServerParms = XServerParms
+ threading.Thread.__init__(self)
+ self.daemon = True
+ self.start()
+
+ def run(self):
+ p = subprocess.Popen([self.XServerParms.run_command, self.XServerParms.parameters], shell=True)
+ sts = os.waitpid(p.pid, 0)[1]
hooks/post-receive
--
python-x2go.git (Python X2Go Client API)
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 "python-x2go.git" (Python X2Go Client API).
More information about the x2go-commits
mailing list