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).