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

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


The branch, build-baikal has been updated
       via  07fc893fe910b501909124b8ca8985cf941da97f (commit)
      from  92ff5a7d7d612fcb7b7599ee0dc20367191493ef (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/printing/_file.py |   65 +++++++++++++++++++++++++++++++--------
 x2go/x2go_exceptions.py         |    3 +-
 2 files changed, 54 insertions(+), 14 deletions(-)

The diff of changes is:
diff --git a/x2go/backends/printing/_file.py b/x2go/backends/printing/_file.py
index 826712d..d8e1b48 100644
--- a/x2go/backends/printing/_file.py
+++ b/x2go/backends/printing/_file.py
@@ -38,6 +38,26 @@ import x2go.printactions as printactions
 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
+import x2go.x2go_exceptions as x2go_exceptions
+
+_print_property_map = {
+        'pdfview_cmd': {
+            'ini_section': 'view', 
+            'ini_option': 'command',
+        },
+        'save_to_folder': {
+            'ini_section': 'save', 
+            'ini_option': 'folder',
+        },
+        'printer': {
+            'ini_section': 'CUPS', 
+            'ini_option': 'defaultprinter',
+        },
+        'print_cmd': {
+            'ini_section': 'print', 
+            'ini_option': 'command',
+        },
+}
 
 class X2goClientPrintingFILE(inifiles.X2goIniFile):
     """\
@@ -133,7 +153,36 @@ class X2goClientPrintingFILE(inifiles.X2goIniFile):
         else:
             return self._print_action
 
-    def set_print_action(self, print_action, **kwargs):
+    def get_property(self, print_property):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        if print_property in _print_property_map.keys():
+            _ini_section = _print_property_map[print_property]['ini_section']
+            _ini_option = _print_property_map[print_property]['ini_option']
+            return self.get_value(_ini_section, _ini_option)
+        else:
+            raise x2go_exceptions.X2goClientPrintingException('No such X2go client printing property ,,%s\'\'' % print_property)
+
+    def set_property(self, print_property, value):
+        """\
+        STILL UNDOCUMENTED
+
+        """
+        if print_property in _print_property_map.keys():
+            _ini_section = _print_property_map[print_property]['ini_section']
+            _ini_option = _print_property_map[print_property]['ini_option']
+            _default_type = self.get_type(_ini_section, _ini_option)
+            if type(value) is types.UnicodeType:
+                value = value.encode('utf-8')
+            if  _default_type != type(value):
+                raise x2go_exceptions.X2goClientPrintingException('Type mismatch error for property ,,%s\'\' - is: %s, should be: %s' % (print_property, str(type(value)), str(_default_type)))
+            self.update_value(_ini_section, _ini_option, value)
+        else:
+            raise x2go_exceptions.X2goClientPrintingException('No such X2go client printing property ,,%s\'\'' % print_property)
+
+    def store_print_action(self, print_action, **print_properties):
         """\
         STILL UNDOCUMENTED
 
@@ -159,16 +208,6 @@ class X2goClientPrintingFILE(inifiles.X2goIniFile):
             self.update_value('General', 'pdfview', False)
             self.update_value('print', 'startcmd', True)
 
-        if kwargs.has_key('pdfview_cmd'):
-            self.update_value('view', 'command', kwargs['pdfview_cmd'])
-
-        if kwargs.has_key('save_to_folder'):
-            self.update_value('save', 'folder', kwargs['save_to_folder'])
-
-        if kwargs.has_key('printer'):
-            self.update_value('CUPS', 'defaultprinter', kwargs['printer'])
-
-        if kwargs.has_key('print_cmd'):
-            self.update_value('print', 'command', kwargs['print_cmd'])
-
+        for print_property in print_properties.keys():
+            self.set_property(print_property, print_properties[print_property])
 
diff --git a/x2go/x2go_exceptions.py b/x2go/x2go_exceptions.py
index 22a98fb..917e50e 100644
--- a/x2go/x2go_exceptions.py
+++ b/x2go/x2go_exceptions.py
@@ -41,6 +41,8 @@ SSHException = paramiko.SSHException
 
 class _X2goException(exceptions.BaseException): pass
 class X2goClientException(_X2goException): pass
+class X2goClientPrintingException(_X2goException): pass
+class X2goClientSettingsException(_X2goException): pass
 class X2goSessionException(_X2goException): pass
 class X2goControlSessionException(_X2goException): pass
 class X2goHostKeyException(_X2goException): pass
@@ -50,7 +52,6 @@ class X2goSessionCacheException(_X2goException): pass
 class X2goUserException(_X2goException): pass
 class X2goProfileException(_X2goException): pass
 class X2goSessionRegistryException(_X2goException): pass
-class X2goSettingsException(_X2goException): pass
 class X2goFwTunnelException(_X2goException): pass
 class X2goRevFwTunnelException(_X2goException): pass
 class X2goPrintException(_X2goException): pass


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