[X2Go-Commits] python-x2go.git - build-baikal (branch) updated: 58ece9e00def0c33b67b591eb075b025f59f79d7
X2Go dev team
git-admin at x2go.org
Wed Jan 8 15:25:40 CET 2014
The branch, build-baikal has been updated
via 58ece9e00def0c33b67b591eb075b025f59f79d7 (commit)
from 84aaee3290745b91dc3629e905c3076c792d2a64 (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/backends/profiles/_file.py | 3 +-
x2go/inifiles.py | 60 +++++++++++++--------------------------
x2go/log.py | 7 ++++-
x2go/utils.py | 8 +++++-
x2go/xserver.py | 2 +-
5 files changed, 34 insertions(+), 46 deletions(-)
The diff of changes is:
diff --git a/x2go/backends/profiles/_file.py b/x2go/backends/profiles/_file.py
index 37e94a4..4c4ea2c 100644
--- a/x2go/backends/profiles/_file.py
+++ b/x2go/backends/profiles/_file.py
@@ -72,8 +72,7 @@ class X2goSessionProfilesFILE(inifiles.X2goIniFile):
for key, default_value in self.defaultSessionProfile.iteritems():
if not self.iniConfig.has_option(session_profile, key):
self._storeValue(session_profile, key, default_value)
- self._updateDataObject()
-
+
def __call__(self, profile_id_or_name):
"""\
STILL UNDOCUMENTED
diff --git a/x2go/inifiles.py b/x2go/inifiles.py
index 2e1fbac..b20b9fc 100644
--- a/x2go/inifiles.py
+++ b/x2go/inifiles.py
@@ -92,6 +92,12 @@ class X2goIniFile(object):
self.iniConfig = ConfigParser.SafeConfigParser()
self.iniConfig.optionxform = str
+ for file_name in config_files:
+ if file_name.startswith(_current_home):
+ if not os.path.exists(file_name):
+ utils.touch_file(file_name)
+ break
+
self.logger('proposed config files are %s' % config_files, log.loglevel_INFO, )
_found_config_files = self.iniConfig.read(config_files)
self.logger('config files found: %s' % _found_config_files or 'none', log.loglevel_INFO, )
@@ -104,8 +110,7 @@ class X2goIniFile(object):
self.config_files = _found_config_files
self._fill_defaults()
- self._updateDataObject()
-
+
def __repr__(self):
result = 'X2goIniFile('
for p in dir(self):
@@ -129,14 +134,13 @@ class X2goIniFile(object):
@type value: C{str}, C{list}, C{bool}, ...
"""
- if type(value) is types.UnicodeType:
- self.iniConfig.set(section,key,value)
- elif type(value) is types.StringType:
- self.iniConfig.set(section,key,unicode(value))
- elif type(value) is types.BooleanType:
- self.iniConfig.set(section,key,unicode(int(value)))
+ if type(value) == type(u''):
+ value = value.encode(utils.get_encoding())
+
+ if type(value) is types.BooleanType:
+ self.iniConfig.set(section, key, str(int(value)))
else:
- self.iniConfig.set(section,key,unicode(value))
+ self.iniConfig.set(section, key, str(value))
def _fill_defaults(self):
"""\
@@ -152,8 +156,7 @@ class X2goIniFile(object):
if not self.iniConfig.has_section(section):
self.iniConfig.add_section(section)
self._storeValue(section, key, value)
- self._updateDataObject
-
+
def update_value(self, section, key, value):
"""\
Change a value for a given section and key. This method
@@ -171,8 +174,7 @@ class X2goIniFile(object):
self.iniConfig.add_section(section)
self._storeValue(section, key, value)
self.write_config = True
- self._updateDataObject()
-
+
def write(self):
"""\
Write the ini file modifications (SafeConfigParser object) from RAM to disk.
@@ -216,6 +218,8 @@ class X2goIniFile(object):
@rtype: class
"""
+ if key_type is None:
+ key_type = self.get_type(section, key)
if self.iniConfig.has_option(section, key):
if key_type is types.BooleanType:
return self.iniConfig.getboolean(section, key)
@@ -228,37 +232,11 @@ class X2goIniFile(object):
else:
raise TypeError
else:
- return self.iniConfig.get(section, key)
+ _val = self.iniConfig.get(section, key)
+ return _val.decode(utils.get_encoding())
get = get_value
__call__ = get_value
- def _updateDataObject(self):
- """\
- This routine transfers the ini file's config items into simple
- object data properties of the form::
-
- <X2goIniFile instance>.<section_name>.<option_name> = value
-
- """
- class ini_section(object):
- def __str__(self):
- return self.name
- def __repr__(self):
- 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.lower(), value)
-
- for section_name in self.iniConfig.sections():
- section = ini_section(section_name)
- for option_name in self.iniConfig.options(section.name):
- if section.name in self.defaultValues and option_name in self.defaultValues[section.name]:
- 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.lower(), section)
-
@property
def printable_config_file(self):
"""\
diff --git a/x2go/log.py b/x2go/log.py
index 17ef354..7fecb99 100644
--- a/x2go/log.py
+++ b/x2go/log.py
@@ -23,7 +23,8 @@ X2goLogger class - flexible handling of log and debug output.
__NAME__ = 'x2gologger-pylib'
# modules
-import os, sys
+import os
+import sys
loglevel_NONE = 0
loglevel_ERROR = 8
@@ -38,6 +39,9 @@ loglevel_DEFAULT = loglevel_ERROR | loglevel_WARN | loglevel_NOTICE
Default loglevel of X2goLogger objects is: NOTICE & WARN & ERROR
"""
+# Python X2go modules
+import utils
+
class X2goLogger(object):
"""\
A simple logger class, that is used by all Python X2go classes.
@@ -89,6 +93,7 @@ class X2goLogger(object):
if loglevel & self.loglevel:
msg = msg.replace('\n', ' ')
+ msg = msg.encode(utils.get_encoding())
if self.tag is not None:
self.destination.write('%s[%s] (%s) %s: %s\n' % (self.name, self.progpid, tag, self._loglevel_NAMES[loglevel].upper(), msg))
diff --git a/x2go/utils.py b/x2go/utils.py
index 5624928..b45da47 100644
--- a/x2go/utils.py
+++ b/x2go/utils.py
@@ -25,6 +25,7 @@ __NAME__ = 'x2goutils-pylib'
import sys
import os
+import locale
import re
import types
import copy
@@ -290,4 +291,9 @@ def detect_unused_port(bind_address='', preferred_port=None):
ipaddr, port = sock.getsockname()
return port
-
+def get_encoding():
+ try:
+ encoding = locale.getdefaultlocale()[1]
+ except:
+ encoding = sys.getdefaultencoding()
+ return encoding
diff --git a/x2go/xserver.py b/x2go/xserver.py
index 850dcd7..bd31aa3 100644
--- a/x2go/xserver.py
+++ b/x2go/xserver.py
@@ -87,7 +87,7 @@ class X2goClientXConfig(inifiles.X2goIniFile):
STILL UNDOCUMENTED
"""
- return self.xservers.known_xservers
+ return self.get_value('XServers', 'known_xservers')
@property
def installed_xservers(self):
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