[X2Go-Commits] python-x2go.git - build-baikal (branch) updated: f23de90610279b2cf45ea1f0e796d6d6bf1d3d0e

X2Go dev team git-admin at x2go.org
Wed Jan 8 15:27:33 CET 2014


The branch, build-baikal has been updated
       via  f23de90610279b2cf45ea1f0e796d6d6bf1d3d0e (commit)
      from  f39ec248133fcde426879c1a5480578e0aee8a25 (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/pycompat                                    |    1 -
 x2go/__init__.py                                   |    4 +-
 x2go/backends/control/__init__.py                  |    9 +-
 x2go/backends/control/{stdout.py => _stdout.py}    |    0
 x2go/backends/info/__init__.py                     |   12 +--
 x2go/backends/info/{stdout.py => _stdout.py}       |    0
 x2go/backends/{control => printing}/__init__.py    |   10 +-
 x2go/backends/printing/_file.py                    |  113 ++++++++++++++++++++
 x2go/backends/printing/_gconf.py                   |  113 ++++++++++++++++++++
 x2go/backends/printing/_httpsbroker.py             |  113 ++++++++++++++++++++
 x2go/backends/printing/_winreg.py                  |  113 ++++++++++++++++++++
 x2go/backends/profiles/__init__.py                 |   11 +-
 .../profiles/{sessions_file.py => _file.py}        |    0
 .../profiles/{win_registry.py => _gconf.py}        |    2 +-
 .../profiles/{https_broker.py => _httpsbroker.py}  |    2 +-
 .../profiles/{win_registry.py => _winreg.py}       |    0
 x2go/backends/proxy/__init__.py                    |    6 +-
 x2go/backends/proxy/{nx3.py => _nx3.py}            |    0
 x2go/backends/{profiles => settings}/__init__.py   |   11 +-
 x2go/{settings.py => backends/settings/_file.py}   |   14 +--
 x2go/{settings.py => backends/settings/_gconf.py}  |   14 +--
 .../settings/_httpsbroker.py}                      |   14 +--
 x2go/{settings.py => backends/settings/_winreg.py} |   14 +--
 x2go/backends/terminal/__init__.py                 |    6 +-
 x2go/backends/terminal/{stdout.py => _stdout.py}   |    0
 x2go/client.py                                     |   52 ++++++---
 x2go/defaults.py                                   |   50 +++++++--
 x2go/registry.py                                   |   23 ++--
 28 files changed, 610 insertions(+), 97 deletions(-)
 delete mode 100644 debian/pycompat
 rename x2go/backends/control/{stdout.py => _stdout.py} (100%)
 rename x2go/backends/info/{stdout.py => _stdout.py} (100%)
 copy x2go/backends/{control => printing}/__init__.py (76%)
 create mode 100644 x2go/backends/printing/_file.py
 create mode 100644 x2go/backends/printing/_gconf.py
 create mode 100644 x2go/backends/printing/_httpsbroker.py
 create mode 100644 x2go/backends/printing/_winreg.py
 rename x2go/backends/profiles/{sessions_file.py => _file.py} (100%)
 copy x2go/backends/profiles/{win_registry.py => _gconf.py} (99%)
 rename x2go/backends/profiles/{https_broker.py => _httpsbroker.py} (99%)
 rename x2go/backends/profiles/{win_registry.py => _winreg.py} (100%)
 rename x2go/backends/proxy/{nx3.py => _nx3.py} (100%)
 copy x2go/backends/{profiles => settings}/__init__.py (72%)
 copy x2go/{settings.py => backends/settings/_file.py} (82%)
 copy x2go/{settings.py => backends/settings/_gconf.py} (82%)
 copy x2go/{settings.py => backends/settings/_httpsbroker.py} (82%)
 rename x2go/{settings.py => backends/settings/_winreg.py} (82%)
 rename x2go/backends/terminal/{stdout.py => _stdout.py} (100%)

The diff of changes is:
diff --git a/debian/pycompat b/debian/pycompat
deleted file mode 100644
index 0c043f1..0000000
--- a/debian/pycompat
+++ /dev/null
@@ -1 +0,0 @@
-2.6-
diff --git a/x2go/__init__.py b/x2go/__init__.py
index 05417c6..a2c5c82 100644
--- a/x2go/__init__.py
+++ b/x2go/__init__.py
@@ -167,8 +167,8 @@ _signal.signal (_signal.SIGINT, guardian._sigterm_handle )
 
 from client import X2goClient
 from backends.profiles import X2goSessionProfiles
-from printing import X2goClientPrinting
-from settings import X2goClientSettings
+from backends.printing import X2goClientPrinting
+from backends.settings import X2goClientSettings
 from x2go_exceptions import *
 from log import *
 
diff --git a/x2go/backends/control/__init__.py b/x2go/backends/control/__init__.py
index e7780c4..fb83b48 100644
--- a/x2go/backends/control/__init__.py
+++ b/x2go/backends/control/__init__.py
@@ -17,11 +17,8 @@
 # Free Software Foundation, Inc.,
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from gevent import monkey
-monkey.patch_all()
+from x2go.defaults import BACKEND_CONTROLSESSION_DEFAULT
 
-from x2go.defaults import DEFAULT_CONTROLSESSION_BACKEND
+from _stdout import X2goControlSessionSTDOUT
 
-from stdout import X2goControlSessionSTDOUT
-
-X2goControlSession = eval(DEFAULT_CONTROLSESSION_BACKEND)
+X2goControlSession = eval(BACKEND_CONTROLSESSION_DEFAULT)
diff --git a/x2go/backends/control/stdout.py b/x2go/backends/control/_stdout.py
similarity index 100%
rename from x2go/backends/control/stdout.py
rename to x2go/backends/control/_stdout.py
diff --git a/x2go/backends/info/__init__.py b/x2go/backends/info/__init__.py
index 0606d7b..4a27bfd 100644
--- a/x2go/backends/info/__init__.py
+++ b/x2go/backends/info/__init__.py
@@ -17,11 +17,11 @@
 # Free Software Foundation, Inc.,
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from x2go.defaults import DEFAULT_SERVERSESSIONINFO_BACKEND
-from x2go.defaults import DEFAULT_SERVERSESSIONLIST_BACKEND
+from x2go.defaults import BACKEND_SERVERSESSIONINFO_DEFAULT
+from x2go.defaults import BACKEND_SERVERSESSIONLIST_DEFAULT
 
-from stdout import X2goServerSessionInfoSTDOUT
-from stdout import X2goServerSessionListSTDOUT
+from _stdout import X2goServerSessionInfoSTDOUT
+from _stdout import X2goServerSessionListSTDOUT
 
-X2goServerSessionInfo = eval(DEFAULT_SERVERSESSIONINFO_BACKEND)
-X2goServerSessionList = eval(DEFAULT_SERVERSESSIONLIST_BACKEND)
+X2goServerSessionInfo = eval(BACKEND_SERVERSESSIONINFO_DEFAULT)
+X2goServerSessionList = eval(BACKEND_SERVERSESSIONLIST_DEFAULT)
diff --git a/x2go/backends/info/stdout.py b/x2go/backends/info/_stdout.py
similarity index 100%
rename from x2go/backends/info/stdout.py
rename to x2go/backends/info/_stdout.py
diff --git a/x2go/backends/control/__init__.py b/x2go/backends/printing/__init__.py
similarity index 76%
copy from x2go/backends/control/__init__.py
copy to x2go/backends/printing/__init__.py
index e7780c4..683b424 100644
--- a/x2go/backends/control/__init__.py
+++ b/x2go/backends/printing/__init__.py
@@ -17,11 +17,11 @@
 # Free Software Foundation, Inc.,
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from gevent import monkey
-monkey.patch_all()
+from x2go.defaults import BACKEND_CLIENTPRINTING_DEFAULT
 
-from x2go.defaults import DEFAULT_CONTROLSESSION_BACKEND
+from _file import X2goClientPrintingFILE
+from _winreg import X2goClientPrintingWINREG
+from _gconf import X2goClientPrintingGCONF
 
-from stdout import X2goControlSessionSTDOUT
+X2goClientPrinting = eval(BACKEND_CLIENTPRINTING_DEFAULT)
 
-X2goControlSession = eval(DEFAULT_CONTROLSESSION_BACKEND)
diff --git a/x2go/backends/printing/_file.py b/x2go/backends/printing/_file.py
new file mode 100644
index 0000000..a17a84d
--- /dev/null
+++ b/x2go/backends/printing/_file.py
@@ -0,0 +1,113 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# Python X2go is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# Python X2go is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+"""\
+L{X2goClientPrintingFILE} class is one of Python X2go's public API classes. 
+
+Retrieve an instance of this class from your L{X2goClient} instance.
+Use this class in your Python X2go based applications to access the »printing« 
+configuration of your X2go client application.
+
+"""
+__NAME__ = 'x2goprint-pylib'
+
+# modules
+import types
+import ConfigParser
+
+# Python X2go modules
+import x2go.log as log
+import x2go.printing as printing
+# we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)
+from x2go.defaults import X2GO_CLIENTPRINTING_DEFAULTS as _X2GO_CLIENTPRINTING_DEFAULTS
+from x2go.defaults import X2GO_PRINTING_CONFIGFILES as _X2GO_PRINTING_CONFIGFILES
+import x2go.inifiles as inifiles
+
+class X2goClientPrintingFILE(inifiles.X2goIniFile):
+    """\
+    L{X2goClientPrinting} provides access to the X2go ini-like file
+    »printing« as stored in C{~/.x2goclient/printing} resp. globally
+    C{/etc/x2goclient/printing}.
+
+    An instance of L{X2goClientPrinting} is created on each incoming
+    print job. This facilitates that on every print job the print action
+    for this job is derived from the »printing« configuration file.
+
+    Thus, changes on the file are active for the next incoming print job.
+
+    """
+    config_files = []
+    _print_action = None
+    defaultValues = _X2GO_CLIENTPRINTING_DEFAULTS
+
+    def __init__(self, config_files=_X2GO_PRINTING_CONFIGFILES, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT):
+        """\
+        @param config_files: a list of configuration files names (e.g. a global filename and a user's home 
+            directory filename)
+        @type config_files: C{list}
+        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override 
+            Python X2go's hard coded defaults in L{defaults}
+        @type defaults: C{dict}
+        @param logger: you can pass an L{X2goLogger} object to the
+            L{X2goPrintAction} constructor
+        @type logger: C{instance}
+        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be
+            constructed with the given loglevel
+        @type loglevel: C{int}
+
+        """
+        inifiles.X2goIniFile.__init__(self, config_files, defaults=defaults, logger=logger, loglevel=loglevel)
+
+        self._detect_print_action()
+
+
+    def _detect_print_action(self):
+        """\
+        Derive a print action from sections, keys and their values in a typical
+        X2go client »printing« configuration file.
+
+        """
+        _general_pdfview = self.get('General', 'pdfview', key_type=types.BooleanType)
+        _view_open = self.get('view', 'open', key_type=types.BooleanType)
+        _print_startcmd = self.get('print', 'startcmd', key_type=types.BooleanType)
+
+        if _general_pdfview and _view_open:
+            _view_command = self.get('view', 'command')
+            self._print_action = printing.X2goPrintActionPDFVIEW(pdfview_cmd=_view_command, logger=self.logger)
+
+        elif _general_pdfview and not _view_open:
+            self._print_action = printing.X2goPrintActionPDFSAVE(logger=self.logger)
+
+        elif not _general_pdfview and not _print_startcmd:
+            _cups_defaultprinter = self.get('CUPS', 'defaultprinter')
+            self._print_action = printing.X2goPrintActionPRINT(printer=_cups_defaultprinter, logger=self.logger)
+
+        elif not _general_pdfview and _print_startcmd:
+            _print_command = self.get('print', 'command')
+            self._print_action = printing.X2goPrintActionPRINTCMD(print_cmd=_print_command, logger=self.logger)
+
+    @property
+    def print_action(self):
+        """\
+        Return the print action described by the »printing« configuration file.
+
+        """
+        return self._print_action
+
diff --git a/x2go/backends/printing/_gconf.py b/x2go/backends/printing/_gconf.py
new file mode 100644
index 0000000..e869423
--- /dev/null
+++ b/x2go/backends/printing/_gconf.py
@@ -0,0 +1,113 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# Python X2go is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# Python X2go is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+"""\
+L{X2goClientPrintingGCONF} class is one of Python X2go's public API classes. 
+
+Retrieve an instance of this class from your L{X2goClient} instance.
+Use this class in your Python X2go based applications to access the »printing« 
+configuration of your X2go client application.
+
+"""
+__NAME__ = 'x2goprint-pylib'
+
+# modules
+import types
+import ConfigParser
+
+# Python X2go modules
+import x2go.log as log
+import x2go.printing as printing
+# we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)
+from x2go.defaults import X2GO_CLIENTPRINTING_DEFAULTS as _X2GO_CLIENTPRINTING_DEFAULTS
+from x2go.defaults import X2GO_PRINTING_CONFIGFILES as _X2GO_PRINTING_CONFIGFILES
+import x2go.inifiles as inifiles
+
+class X2goClientPrintingGCONF(inifiles.X2goIniFile):
+    """\
+    L{X2goClientPrinting} provides access to the X2go ini-like file
+    »printing« as stored in C{~/.x2goclient/printing} resp. globally
+    C{/etc/x2goclient/printing}.
+
+    An instance of L{X2goClientPrinting} is created on each incoming
+    print job. This facilitates that on every print job the print action
+    for this job is derived from the »printing« configuration file.
+
+    Thus, changes on the file are active for the next incoming print job.
+
+    """
+    config_files = []
+    _print_action = None
+    defaultValues = _X2GO_CLIENTPRINTING_DEFAULTS
+
+    def __init__(self, config_files=_X2GO_PRINTING_CONFIGFILES, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT):
+        """\
+        @param config_files: a list of configuration files names (e.g. a global filename and a user's home 
+            directory filename)
+        @type config_files: C{list}
+        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override 
+            Python X2go's hard coded defaults in L{defaults}
+        @type defaults: C{dict}
+        @param logger: you can pass an L{X2goLogger} object to the
+            L{X2goPrintAction} constructor
+        @type logger: C{instance}
+        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be
+            constructed with the given loglevel
+        @type loglevel: C{int}
+
+        """
+        inifiles.X2goIniFile.__init__(self, config_files, defaults=defaults, logger=logger, loglevel=loglevel)
+
+        self._detect_print_action()
+
+
+    def _detect_print_action(self):
+        """\
+        Derive a print action from sections, keys and their values in a typical
+        X2go client »printing« configuration file.
+
+        """
+        _general_pdfview = self.get('General', 'pdfview', key_type=types.BooleanType)
+        _view_open = self.get('view', 'open', key_type=types.BooleanType)
+        _print_startcmd = self.get('print', 'startcmd', key_type=types.BooleanType)
+
+        if _general_pdfview and _view_open:
+            _view_command = self.get('view', 'command')
+            self._print_action = printing.X2goPrintActionPDFVIEW(pdfview_cmd=_view_command, logger=self.logger)
+
+        elif _general_pdfview and not _view_open:
+            self._print_action = printing.X2goPrintActionPDFSAVE(logger=self.logger)
+
+        elif not _general_pdfview and not _print_startcmd:
+            _cups_defaultprinter = self.get('CUPS', 'defaultprinter')
+            self._print_action = printing.X2goPrintActionPRINT(printer=_cups_defaultprinter, logger=self.logger)
+
+        elif not _general_pdfview and _print_startcmd:
+            _print_command = self.get('print', 'command')
+            self._print_action = printing.X2goPrintActionPRINTCMD(print_cmd=_print_command, logger=self.logger)
+
+    @property
+    def print_action(self):
+        """\
+        Return the print action described by the »printing« configuration file.
+
+        """
+        return self._print_action
+
diff --git a/x2go/backends/printing/_httpsbroker.py b/x2go/backends/printing/_httpsbroker.py
new file mode 100644
index 0000000..830f134
--- /dev/null
+++ b/x2go/backends/printing/_httpsbroker.py
@@ -0,0 +1,113 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# Python X2go is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# Python X2go is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+"""\
+L{X2goClientPrintingWINREG} class is one of Python X2go's public API classes. 
+
+Retrieve an instance of this class from your L{X2goClient} instance.
+Use this class in your Python X2go based applications to access the »printing« 
+configuration of your X2go client application.
+
+"""
+__NAME__ = 'x2goprint-pylib'
+
+# modules
+import types
+import ConfigParser
+
+# Python X2go modules
+import x2go.log as log
+import x2go.printing as printing
+# we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)
+from x2go.defaults import X2GO_CLIENTPRINTING_DEFAULTS as _X2GO_CLIENTPRINTING_DEFAULTS
+from x2go.defaults import X2GO_PRINTING_CONFIGFILES as _X2GO_PRINTING_CONFIGFILES
+import x2go.inifiles as inifiles
+
+class X2goClientPrintingWINREG(inifiles.X2goIniFile):
+    """\
+    L{X2goClientPrinting} provides access to the X2go ini-like file
+    »printing« as stored in C{~/.x2goclient/printing} resp. globally
+    C{/etc/x2goclient/printing}.
+
+    An instance of L{X2goClientPrinting} is created on each incoming
+    print job. This facilitates that on every print job the print action
+    for this job is derived from the »printing« configuration file.
+
+    Thus, changes on the file are active for the next incoming print job.
+
+    """
+    config_files = []
+    _print_action = None
+    defaultValues = _X2GO_CLIENTPRINTING_DEFAULTS
+
+    def __init__(self, config_files=_X2GO_PRINTING_CONFIGFILES, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT):
+        """\
+        @param config_files: a list of configuration files names (e.g. a global filename and a user's home 
+            directory filename)
+        @type config_files: C{list}
+        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override 
+            Python X2go's hard coded defaults in L{defaults}
+        @type defaults: C{dict}
+        @param logger: you can pass an L{X2goLogger} object to the
+            L{X2goPrintAction} constructor
+        @type logger: C{instance}
+        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be
+            constructed with the given loglevel
+        @type loglevel: C{int}
+
+        """
+        inifiles.X2goIniFile.__init__(self, config_files, defaults=defaults, logger=logger, loglevel=loglevel)
+
+        self._detect_print_action()
+
+
+    def _detect_print_action(self):
+        """\
+        Derive a print action from sections, keys and their values in a typical
+        X2go client »printing« configuration file.
+
+        """
+        _general_pdfview = self.get('General', 'pdfview', key_type=types.BooleanType)
+        _view_open = self.get('view', 'open', key_type=types.BooleanType)
+        _print_startcmd = self.get('print', 'startcmd', key_type=types.BooleanType)
+
+        if _general_pdfview and _view_open:
+            _view_command = self.get('view', 'command')
+            self._print_action = printing.X2goPrintActionPDFVIEW(pdfview_cmd=_view_command, logger=self.logger)
+
+        elif _general_pdfview and not _view_open:
+            self._print_action = printing.X2goPrintActionPDFSAVE(logger=self.logger)
+
+        elif not _general_pdfview and not _print_startcmd:
+            _cups_defaultprinter = self.get('CUPS', 'defaultprinter')
+            self._print_action = printing.X2goPrintActionPRINT(printer=_cups_defaultprinter, logger=self.logger)
+
+        elif not _general_pdfview and _print_startcmd:
+            _print_command = self.get('print', 'command')
+            self._print_action = printing.X2goPrintActionPRINTCMD(print_cmd=_print_command, logger=self.logger)
+
+    @property
+    def print_action(self):
+        """\
+        Return the print action described by the »printing« configuration file.
+
+        """
+        return self._print_action
+
diff --git a/x2go/backends/printing/_winreg.py b/x2go/backends/printing/_winreg.py
new file mode 100644
index 0000000..1ced8ef
--- /dev/null
+++ b/x2go/backends/printing/_winreg.py
@@ -0,0 +1,113 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010 by Mike Gabriel <m.gabriel at das-netzwerkteam.de>
+#
+# Python X2go is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# Python X2go is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+"""\
+L{X2goClientPrintingWINREG} class is one of Python X2go's public API classes. 
+
+Retrieve an instance of this class from your L{X2goClient} instance.
+Use this class in your Python X2go based applications to access the »printing« 
+configuration of your X2go client application.
+
+"""
+__NAME__ = 'x2goprint-pylib'
+
+# modules
+import types
+import ConfigParser
+
+# Python X2go modules
+import x2go.log as log
+import x2go.printing as printingB
+# we hide the default values from epydoc (that's why we transform them to _UNDERSCORE variables)
+from x2go.defaults import X2GO_CLIENTPRINTING_DEFAULTS as _X2GO_CLIENTPRINTING_DEFAULTS
+from x2go.defaults import X2GO_PRINTING_CONFIGFILES as _X2GO_PRINTING_CONFIGFILES
+import x2go.inifiles as inifiles
+
+class X2goClientPrintingWINREG(inifiles.X2goIniFile):
+    """\
+    L{X2goClientPrinting} provides access to the X2go ini-like file
+    »printing« as stored in C{~/.x2goclient/printing} resp. globally
+    C{/etc/x2goclient/printing}.
+
+    An instance of L{X2goClientPrinting} is created on each incoming
+    print job. This facilitates that on every print job the print action
+    for this job is derived from the »printing« configuration file.
+
+    Thus, changes on the file are active for the next incoming print job.
+
+    """
+    config_files = []
+    _print_action = None
+    defaultValues = _X2GO_CLIENTPRINTING_DEFAULTS
+
+    def __init__(self, config_files=_X2GO_PRINTING_CONFIGFILES, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT):
+        """\
+        @param config_files: a list of configuration files names (e.g. a global filename and a user's home 
+            directory filename)
+        @type config_files: C{list}
+        @param defaults: a cascaded Python dicitionary structure with ini file defaults (to override 
+            Python X2go's hard coded defaults in L{defaults}
+        @type defaults: C{dict}
+        @param logger: you can pass an L{X2goLogger} object to the
+            L{X2goPrintAction} constructor
+        @type logger: C{instance}
+        @param loglevel: if no L{X2goLogger} object has been supplied a new one will be
+            constructed with the given loglevel
+        @type loglevel: C{int}
+
+        """
+        inifiles.X2goIniFile.__init__(self, config_files, defaults=defaults, logger=logger, loglevel=loglevel)
+
+        self._detect_print_action()
+
+
+    def _detect_print_action(self):
+        """\
+        Derive a print action from sections, keys and their values in a typical
+        X2go client »printing« configuration file.
+
+        """
+        _general_pdfview = self.get('General', 'pdfview', key_type=types.BooleanType)
+        _view_open = self.get('view', 'open', key_type=types.BooleanType)
+        _print_startcmd = self.get('print', 'startcmd', key_type=types.BooleanType)
+
+        if _general_pdfview and _view_open:
+            _view_command = self.get('view', 'command')
+            self._print_action = printing.X2goPrintActionPDFVIEW(pdfview_cmd=_view_command, logger=self.logger)
+
+        elif _general_pdfview and not _view_open:
+            self._print_action = printing.X2goPrintActionPDFSAVE(logger=self.logger)
+
+        elif not _general_pdfview and not _print_startcmd:
+            _cups_defaultprinter = self.get('CUPS', 'defaultprinter')
+            self._print_action = printing.X2goPrintActionPRINT(printer=_cups_defaultprinter, logger=self.logger)
+
+        elif not _general_pdfview and _print_startcmd:
+            _print_command = self.get('print', 'command')
+            self._print_action = printing.X2goPrintActionPRINTCMD(print_cmd=_print_command, logger=self.logger)
+
+    @property
+    def print_action(self):
+        """\
+        Return the print action described by the »printing« configuration file.
+
+        """
+        return self._print_action
+
diff --git a/x2go/backends/profiles/__init__.py b/x2go/backends/profiles/__init__.py
index 8eab147..0da4513 100644
--- a/x2go/backends/profiles/__init__.py
+++ b/x2go/backends/profiles/__init__.py
@@ -17,11 +17,12 @@
 # Free Software Foundation, Inc.,
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from x2go.defaults import DEFAULT_SESSIONPROFILES_BACKEND
+from x2go.defaults import BACKEND_SESSIONPROFILES_DEFAULT
 
-from sessions_file import X2goSessionProfilesFILE
-from win_registry import X2goSessionProfilesWINREG
-from https_broker import X2goSessionProfilesHTTP
+from _file import X2goSessionProfilesFILE
+from _winreg import X2goSessionProfilesWINREG
+from _httpsbroker import X2goSessionProfilesHTTPSBROKER
+from _gconf import X2goSessionProfilesGCONF
 
-X2goSessionProfiles = eval(DEFAULT_SESSIONPROFILES_BACKEND)
+X2goSessionProfiles = eval(BACKEND_SESSIONPROFILES_DEFAULT)
 
diff --git a/x2go/backends/profiles/sessions_file.py b/x2go/backends/profiles/_file.py
similarity index 100%
rename from x2go/backends/profiles/sessions_file.py
rename to x2go/backends/profiles/_file.py
diff --git a/x2go/backends/profiles/win_registry.py b/x2go/backends/profiles/_gconf.py
similarity index 99%
copy from x2go/backends/profiles/win_registry.py
copy to x2go/backends/profiles/_gconf.py
index 86f8fe7..1093717 100644
--- a/x2go/backends/profiles/win_registry.py
+++ b/x2go/backends/profiles/_gconf.py
@@ -38,7 +38,7 @@ import x2go.utils as hostname
 from x2go.x2go_exceptions import X2goProfileException
 
 
-class X2goSessionProfilesWINREG(inifiles.X2goIniFile):
+class X2goSessionProfilesGCONF(inifiles.X2goIniFile):
 
     defaultSessionProfile = X2GO_SESSIONPROFILE_DEFAULTS
     _non_profile_sections = ('embedded')
diff --git a/x2go/backends/profiles/https_broker.py b/x2go/backends/profiles/_httpsbroker.py
similarity index 99%
rename from x2go/backends/profiles/https_broker.py
rename to x2go/backends/profiles/_httpsbroker.py
index 6fcc4b7..56b37b2 100644
--- a/x2go/backends/profiles/https_broker.py
+++ b/x2go/backends/profiles/_httpsbroker.py
@@ -37,7 +37,7 @@ import x2go.utils as utils
 from x2go.x2go_exceptions import X2goProfileException
 
 
-class X2goSessionProfilesHTTP(inifiles.X2goIniFile):
+class X2goSessionProfilesHTTPSBROKER(inifiles.X2goIniFile):
 
     defaultSessionProfile = X2GO_SESSIONPROFILE_DEFAULTS
     _non_profile_sections = ('embedded')
diff --git a/x2go/backends/profiles/win_registry.py b/x2go/backends/profiles/_winreg.py
similarity index 100%
rename from x2go/backends/profiles/win_registry.py
rename to x2go/backends/profiles/_winreg.py
diff --git a/x2go/backends/proxy/__init__.py b/x2go/backends/proxy/__init__.py
index 5ce688d..7371fa4 100644
--- a/x2go/backends/proxy/__init__.py
+++ b/x2go/backends/proxy/__init__.py
@@ -17,8 +17,8 @@
 # Free Software Foundation, Inc.,
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from x2go.defaults import DEFAULT_PROXY_BACKEND
+from x2go.defaults import BACKEND_PROXY_DEFAULT
 
-from nx3 import X2goProxyNX3
+from _nx3 import X2goProxyNX3
 
-X2goProxy = eval(DEFAULT_PROXY_BACKEND)
+X2goProxy = eval(BACKEND_PROXY_DEFAULT)
diff --git a/x2go/backends/proxy/nx3.py b/x2go/backends/proxy/_nx3.py
similarity index 100%
rename from x2go/backends/proxy/nx3.py
rename to x2go/backends/proxy/_nx3.py
diff --git a/x2go/backends/profiles/__init__.py b/x2go/backends/settings/__init__.py
similarity index 72%
copy from x2go/backends/profiles/__init__.py
copy to x2go/backends/settings/__init__.py
index 8eab147..fd66188 100644
--- a/x2go/backends/profiles/__init__.py
+++ b/x2go/backends/settings/__init__.py
@@ -17,11 +17,12 @@
 # Free Software Foundation, Inc.,
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from x2go.defaults import DEFAULT_SESSIONPROFILES_BACKEND
+from x2go.defaults import BACKEND_CLIENTSETTINGS_DEFAULT
 
-from sessions_file import X2goSessionProfilesFILE
-from win_registry import X2goSessionProfilesWINREG
-from https_broker import X2goSessionProfilesHTTP
+from _file import X2goClientSettingsFILE
+from _gconf import X2goClientSettingsGCONF
+from _httpsbroker import X2goClientSettingsHTTPSBROKER
+from _winreg import X2goClientSettingsWINREG
 
-X2goSessionProfiles = eval(DEFAULT_SESSIONPROFILES_BACKEND)
+X2goClientSettings = eval(BACKEND_CLIENTSETTINGS_DEFAULT)
 
diff --git a/x2go/settings.py b/x2go/backends/settings/_file.py
similarity index 82%
copy from x2go/settings.py
copy to x2go/backends/settings/_file.py
index af3b3c4..4dc9b68 100644
--- a/x2go/settings.py
+++ b/x2go/backends/settings/_file.py
@@ -32,20 +32,20 @@ __NAME__ = 'x2gosettings-pylib'
 import os
 
 # Python X2go modules
-import log
-from defaults import X2GO_SETTINGS_CONFIGFILES
-from defaults import X2GO_CLIENTSETTINGS_DEFAULTS
-import inifiles
+import x2go.log as log
+from x2go.defaults import X2GO_SETTINGS_CONFIGFILES as _X2GO_SETTINGS_CONFIGFILES
+from x2go.defaults import X2GO_CLIENTSETTINGS_DEFAULTS as _X2GO_CLIENTSETTINGS_DEFAULTS
+import x2go.inifiles as inifiles
 
 
-class X2goClientSettings(inifiles.X2goIniFile):
+class X2goClientSettingsFILE(inifiles.X2goIniFile):
     """\
     Configuration file based settings for X2goClient instances.
 
     """
-    defaultValues = X2GO_CLIENTSETTINGS_DEFAULTS
+    defaultValues = _X2GO_CLIENTSETTINGS_DEFAULTS
 
-    def __init__(self, config_files=X2GO_SETTINGS_CONFIGFILES, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT):
+    def __init__(self, config_files=_X2GO_SETTINGS_CONFIGFILES, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT):
         """\
         Constructs an L{X2goClientSettings} instance. This is normally done by an L{X2goClient} instance.
         You can retrieve this L{X2goClientSettings} instance with the L{X2goClient.get_client_settings()} 
diff --git a/x2go/settings.py b/x2go/backends/settings/_gconf.py
similarity index 82%
copy from x2go/settings.py
copy to x2go/backends/settings/_gconf.py
index af3b3c4..ab8442e 100644
--- a/x2go/settings.py
+++ b/x2go/backends/settings/_gconf.py
@@ -32,20 +32,20 @@ __NAME__ = 'x2gosettings-pylib'
 import os
 
 # Python X2go modules
-import log
-from defaults import X2GO_SETTINGS_CONFIGFILES
-from defaults import X2GO_CLIENTSETTINGS_DEFAULTS
-import inifiles
+import x2go.log as log
+from x2go.defaults import X2GO_SETTINGS_CONFIGFILES as _X2GO_SETTINGS_CONFIGFILES
+from x2go.defaults import X2GO_CLIENTSETTINGS_DEFAULTS as _X2GO_CLIENTSETTINGS_DEFAULTS
+import x2go.inifiles as inifiles
 
 
-class X2goClientSettings(inifiles.X2goIniFile):
+class X2goClientSettingsGCONF(inifiles.X2goIniFile):
     """\
     Configuration file based settings for X2goClient instances.
 
     """
-    defaultValues = X2GO_CLIENTSETTINGS_DEFAULTS
+    defaultValues = _X2GO_CLIENTSETTINGS_DEFAULTS
 
-    def __init__(self, config_files=X2GO_SETTINGS_CONFIGFILES, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT):
+    def __init__(self, config_files=_X2GO_SETTINGS_CONFIGFILES, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT):
         """\
         Constructs an L{X2goClientSettings} instance. This is normally done by an L{X2goClient} instance.
         You can retrieve this L{X2goClientSettings} instance with the L{X2goClient.get_client_settings()} 
diff --git a/x2go/settings.py b/x2go/backends/settings/_httpsbroker.py
similarity index 82%
copy from x2go/settings.py
copy to x2go/backends/settings/_httpsbroker.py
index af3b3c4..e143529 100644
--- a/x2go/settings.py
+++ b/x2go/backends/settings/_httpsbroker.py
@@ -32,20 +32,20 @@ __NAME__ = 'x2gosettings-pylib'
 import os
 
 # Python X2go modules
-import log
-from defaults import X2GO_SETTINGS_CONFIGFILES
-from defaults import X2GO_CLIENTSETTINGS_DEFAULTS
-import inifiles
+import x2go.log as log
+from x2go.defaults import X2GO_SETTINGS_CONFIGFILES as _X2GO_SETTINGS_CONFIGFILES
+from x2go.defaults import X2GO_CLIENTSETTINGS_DEFAULTS as _X2GO_CLIENTSETTINGS_DEFAULTS
+import x2go.inifiles as inifiles
 
 
-class X2goClientSettings(inifiles.X2goIniFile):
+class X2goClientSettingsHTTPSBROKER(inifiles.X2goIniFile):
     """\
     Configuration file based settings for X2goClient instances.
 
     """
-    defaultValues = X2GO_CLIENTSETTINGS_DEFAULTS
+    defaultValues = _X2GO_CLIENTSETTINGS_DEFAULTS
 
-    def __init__(self, config_files=X2GO_SETTINGS_CONFIGFILES, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT):
+    def __init__(self, config_files=_X2GO_SETTINGS_CONFIGFILES, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT):
         """\
         Constructs an L{X2goClientSettings} instance. This is normally done by an L{X2goClient} instance.
         You can retrieve this L{X2goClientSettings} instance with the L{X2goClient.get_client_settings()} 
diff --git a/x2go/settings.py b/x2go/backends/settings/_winreg.py
similarity index 82%
rename from x2go/settings.py
rename to x2go/backends/settings/_winreg.py
index af3b3c4..b8a6fef 100644
--- a/x2go/settings.py
+++ b/x2go/backends/settings/_winreg.py
@@ -32,20 +32,20 @@ __NAME__ = 'x2gosettings-pylib'
 import os
 
 # Python X2go modules
-import log
-from defaults import X2GO_SETTINGS_CONFIGFILES
-from defaults import X2GO_CLIENTSETTINGS_DEFAULTS
-import inifiles
+import x2go.log as log
+from x2go.defaults import X2GO_SETTINGS_CONFIGFILES as _X2GO_SETTINGS_CONFIGFILES
+from x2go.defaults import X2GO_CLIENTSETTINGS_DEFAULTS as _X2GO_CLIENTSETTINGS_DEFAULTS
+import x2go.inifiles as inifiles
 
 
-class X2goClientSettings(inifiles.X2goIniFile):
+class X2goClientSettingsWINREG(inifiles.X2goIniFile):
     """\
     Configuration file based settings for X2goClient instances.
 
     """
-    defaultValues = X2GO_CLIENTSETTINGS_DEFAULTS
+    defaultValues = _X2GO_CLIENTSETTINGS_DEFAULTS
 
-    def __init__(self, config_files=X2GO_SETTINGS_CONFIGFILES, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT):
+    def __init__(self, config_files=_X2GO_SETTINGS_CONFIGFILES, defaults=None, logger=None, loglevel=log.loglevel_DEFAULT):
         """\
         Constructs an L{X2goClientSettings} instance. This is normally done by an L{X2goClient} instance.
         You can retrieve this L{X2goClientSettings} instance with the L{X2goClient.get_client_settings()} 
diff --git a/x2go/backends/terminal/__init__.py b/x2go/backends/terminal/__init__.py
index 91c158c..ff73773 100644
--- a/x2go/backends/terminal/__init__.py
+++ b/x2go/backends/terminal/__init__.py
@@ -17,8 +17,8 @@
 # Free Software Foundation, Inc.,
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
-from x2go.defaults import DEFAULT_TERMINALSESSION_BACKEND
+from x2go.defaults import BACKEND_TERMINALSESSION_DEFAULT
 
-from stdout import X2goTerminalSessionSTDOUT
+from _stdout import X2goTerminalSessionSTDOUT
 
-X2goTerminalSession = eval(DEFAULT_TERMINALSESSION_BACKEND)
+X2goTerminalSession = eval(BACKEND_TERMINALSESSION_DEFAULT)
diff --git a/x2go/backends/terminal/stdout.py b/x2go/backends/terminal/_stdout.py
similarity index 100%
rename from x2go/backends/terminal/stdout.py
rename to x2go/backends/terminal/_stdout.py
diff --git a/x2go/client.py b/x2go/client.py
index 07a2938..de19c04 100644
--- a/x2go/client.py
+++ b/x2go/client.py
@@ -124,8 +124,6 @@ import types
 import os
 
 # Python X2go modules
-from settings import X2goClientSettings
-from printing import X2goClientPrinting
 from registry import X2goSessionRegistry
 from guardian import X2goSessionGuardian
 from cache import X2goListSessionsCache
@@ -139,7 +137,14 @@ from defaults import LOCAL_HOME as _LOCAL_HOME
 from defaults import CURRENT_LOCAL_USER as _CURRENT_LOCAL_USER
 from defaults import X2GO_CLIENT_ROOTDIR as _X2GO_CLIENT_ROOTDIR
 
-from x2go.backends.profiles import X2goSessionProfiles
+from x2go.backends.control import X2goControlSession as _X2goControlSession
+from x2go.backends.terminal import X2goTerminalSession as _X2goTerminalSession
+from x2go.backends.info import X2goServerSessionInfo as _X2goServerSessionInfo
+from x2go.backends.info import X2goServerSessionList as _X2goServerSessionList
+from x2go.backends.proxy import X2goProxy as _X2goProxy
+from x2go.backends.profiles import X2goSessionProfiles as _X2goSessionProfiles
+from x2go.backends.settings import X2goClientSettings as _X2goClientSettings
+from x2go.backends.printing import X2goClientPrinting as _X2goClientPrinting
 
 if _X2GOCLIENT_OS == 'Windows':
     from xserver import X2goClientXConfig, X2goXServer
@@ -155,7 +160,16 @@ class X2goClient(object):
     session object etc.) and connected to it (authentication). For these two steps
     use these methods: L{X2goClient.register_session()} and L{X2goClient.connect_session()}.
     """
-    def __init__(self, use_cache=True, start_xserver=False, logger=None, loglevel=log.loglevel_DEFAULT):
+    def __init__(self, use_cache=True, start_xserver=False,
+                 control_backend=_X2goControlSession,
+                 terminal_backend=_X2goTerminalSession,
+                 info_backend=_X2goServerSessionInfo,
+                 list_backend=_X2goServerSessionList,
+                 proxy_backend=_X2goProxy,
+                 profiles_backend=_X2goSessionProfiles,
+                 settings_backend=_X2goClientSettings,
+                 printing_backend=_X2goClientPrinting,
+                 logger=None, loglevel=log.loglevel_DEFAULT):
         """\
         @param logger: you can pass an L{X2goLogger} object to the
             L{X2goClient} constructor
@@ -175,6 +189,12 @@ class X2goClient(object):
         if self.logger.tag is None:
             self.logger.tag = self._logger_tag
 
+        self.control_backend = control_backend
+        self.terminal_backend = terminal_backend
+        self.info_backend = info_backend
+        self.list_backend = list_backend
+        self.proxy_backend = proxy_backend
+
         if _X2GOCLIENT_OS == 'Windows' and start_xserver:
             self.client_xconfig = X2goClientXConfig(logger=self.logger)
             if not self.client_xconfig.running_xservers:
@@ -187,14 +207,16 @@ class X2goClient(object):
             else:
                 # presume the running XServer listens on :0
                 os.environ.update({'DISPLAY': 'localhost:0'})
-                
-        self.session_profiles = X2goSessionProfiles(logger=self.logger)
-        self.session_registry = X2goSessionRegistry(logger=self.logger)
+
+        self.session_profiles = profiles_backend(logger=self.logger)
+        self.session_registry = X2goSessionRegistry(
+            logger=self.logger,
+        )
         self.session_guardian = X2goSessionGuardian(self, enable_cache=use_cache, logger=self.logger)
         if use_cache:
             self.listsessions_cache = X2goListSessionsCache(self, logger=self.logger)
-        self.client_settings = X2goClientSettings(logger=self.logger)
-        self.client_printing = X2goClientPrinting(logger=self.logger)
+        self.client_settings = settings_backend(logger=self.logger)
+        self.client_printing = printing_backend(logger=self.logger)
 
         self.use_cache = use_cache
 
@@ -339,10 +361,14 @@ class X2goClient(object):
             _params['printing'] = printing
             _params['share_local_folders'] = share_local_folders
 
-        session_uuid = self.session_registry.register(server=server, profile_id=_profile_id, profile_name=_profile_name, **_params )
-
-        control_params = self.session_registry(session_uuid).control_params
-        terminal_params = self.session_registry(session_uuid).terminal_params
+        session_uuid = self.session_registry.register(server=server, 
+                                                      profile_id=_profile_id, profile_name=_profile_name,
+                                                      control_backend=self.control_backend,
+                                                      terminal_backend=self.terminal_backend,
+                                                      info_backend=self.info_backend,
+                                                      list_backend=self.list_backend,
+                                                      proxy_backend=self.proxy_backend,
+                                                      **_params )
 
         self.logger('initializing X2go session...', log.loglevel_NOTICE, tag=self._logger_tag)
         if return_object:
diff --git a/x2go/defaults.py b/x2go/defaults.py
index 6712d75..b7df25d 100644
--- a/x2go/defaults.py
+++ b/x2go/defaults.py
@@ -70,21 +70,57 @@ else:
 
 
 ##
-## control and terminal session backend as well as session info backend defaults
+## control and terminal session backend as well as session info and proxy backend defaults
 ##
 
-DEFAULT_CONTROLSESSION_BACKEND =  'X2goControlSessionSTDOUT'
-DEFAULT_TERMINALSESSION_BACKEND = 'X2goTerminalSessionSTDOUT'
-DEFAULT_SERVERSESSIONINFO_BACKEND = 'X2goServerSessionInfoSTDOUT'
-DEFAULT_SERVERSESSIONLIST_BACKEND = 'X2goServerSessionListSTDOUT'
-DEFAULT_PROXY_BACKEND = 'X2goProxyNX3'
+BACKENDS_CONTROLSESSION = {
+    'STDOUT': 'X2goControlSessionSTDOUT',
+}
+BACKENDS_TERMINALSESSION = {
+    'STDOUT': 'X2goTerminalSessionSTDOUT',
+}
+BACKENDS_SERVERSESSIONINFO = {
+    'STDOUT': 'X2goServerSessionInfoSTDOUT',
+}
+BACKENDS_SERVERSESSIONLIST = {
+    'STDOUT': 'X2goServerSessionListSTDOUT',
+}
+BACKENDS_PROXY = {
+    'NX3': 'X2goProxyNX3',
+}
+
+BACKEND_CONTROLSESSION_DEFAULT =  'X2goControlSessionSTDOUT'
+BACKEND_TERMINALSESSION_DEFAULT = 'X2goTerminalSessionSTDOUT'
+BACKEND_SERVERSESSIONINFO_DEFAULT = 'X2goServerSessionInfoSTDOUT'
+BACKEND_SERVERSESSIONLIST_DEFAULT = 'X2goServerSessionListSTDOUT'
+BACKEND_PROXY_DEFAULT = 'X2goProxyNX3'
 
 ##
 ## profile backend defaults
 ##
 
-DEFAULT_SESSIONPROFILES_BACKEND = 'X2goSessionProfilesFILE'
+BACKENDS_SESSIONPROFILES = {
+    'FILE': 'X2goSessionProfilesFILE',
+    'GCONF': 'X2goSessionProfilesGCONF',
+    'HTTPSBROKER': 'X2goSessionProfilesHTTPSBROKER',
+    'WINREG': 'X2goSessionProfilesWINREG',
+}
+BACKENDS_CLIENTSETTINGS = {
+    'FILE': 'X2goClientSettingsFILE',
+    'GCONF': 'X2goClientSettingsGCONF',
+    'HTTPSBROKER': 'X2goClientSettingsHTTPSBROKER',
+    'WINREG': 'X2goClientSettingsWINREG',
+}
+BACKENDS_CLIENTPRINTING = {
+    'FILE': 'X2goClientPrintingFILE',
+    'GCONF': 'X2goClientPrintingGCONF',
+    'HTTPSBROKER': 'X2goClientPrintingHTTPSBROKER',
+    'WINREG': 'X2goClientPrintingWINREG',
+}
 
+BACKEND_SESSIONPROFILES_DEFAULT = 'X2goSessionProfilesFILE'
+BACKEND_CLIENTSETTINGS_DEFAULT = 'X2goClientSettingsFILE'
+BACKEND_CLIENTPRINTING_DEFAULT = 'X2goClientPrintingFILE'
 
 ##
 ## X2go Printing
diff --git a/x2go/registry.py b/x2go/registry.py
index 95f25e3..619cf56 100644
--- a/x2go/registry.py
+++ b/x2go/registry.py
@@ -35,18 +35,19 @@ import session
 from x2go_exceptions import *
 
 # import the default terminal session backend
-from x2go.backends.control import X2goControlSession
-from x2go.backends.terminal import X2goTerminalSession
-from x2go.backends.proxy import X2goProxy
-from x2go.backends.info import X2goServerSessionInfo
-from x2go.backends.info import X2goServerSessionList
+from x2go.backends.control import X2goControlSession as _X2goControlSession
+from x2go.backends.terminal import X2goTerminalSession as _X2goTerminalSession
+from x2go.backends.info import X2goServerSessionInfo as _X2goServerSessionInfo
+from x2go.backends.info import X2goServerSessionList as _X2goServerSessionList
+from x2go.backends.proxy import X2goProxy as _X2goProxy
 
 class X2goSessionRegistry(object):
     """\
     STILL UNDOCUMENTED
 
     """
-    def __init__(self, use_cache=True, logger=None, loglevel=log.loglevel_DEFAULT):
+    def __init__(self, use_cache=True, 
+                 logger=None, loglevel=log.loglevel_DEFAULT):
         """\
         STILL UNDOCUMENTED
 
@@ -117,11 +118,11 @@ class X2goSessionRegistry(object):
         return _session_summary
 
     def register(self, server, profile_id, profile_name, 
-                 control_backend=X2goControlSession,
-                 terminal_backend=X2goTerminalSession,
-                 info_backend=X2goServerSessionInfo,
-                 list_backend=X2goServerSessionList,
-                 proxy_backend=X2goProxy,
+                 control_backend=_X2goControlSession,
+                 terminal_backend=_X2goTerminalSession,
+                 info_backend=_X2goServerSessionInfo,
+                 list_backend=_X2goServerSessionList,
+                 proxy_backend=_X2goProxy,
                  **kwargs):
 
         control_session = None


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