The branch, master has been updated via ed6cc9d89628e50501bda74af5926acd2f97f4d5 (commit) from f374c3b6f09dc326fa5205bb1c0de09804dd621d (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 ----------------------------------------------------------------- commit ed6cc9d89628e50501bda74af5926acd2f97f4d5 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Sun Mar 4 21:20:21 2012 +0100 Run print actions in background (gevent.spawn). ----------------------------------------------------------------------- Summary of changes: debian/changelog | 1 + x2go/printactions.py | 27 +++++++++++++++++++++------ 2 files changed, 22 insertions(+), 6 deletions(-) The diff of changes is: diff --git a/debian/changelog b/debian/changelog index 4d55322..4468f70 100644 --- a/debian/changelog +++ b/debian/changelog @@ -34,6 +34,7 @@ python-x2go (0.1.2.0-0~x2go1) UNRELEASED; urgency=low - Draw all Xlib code into utils.py - Fix faking of WindowsError exception object in printactions.py and mimeboxactions.py. + - Run print actions in background (gevent.spawn). * Depend on python-xlib. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Sat, 28 Sep 2012 01:44:21 +0100 diff --git a/x2go/printactions.py b/x2go/printactions.py index d7af7a5..8227284 100644 --- a/x2go/printactions.py +++ b/x2go/printactions.py @@ -101,8 +101,8 @@ class X2goPrintAction(object): """ return self.__description__ - def do_print(self, pdf_file, job_title, spool_dir, ): - """\ + def _do_print(self, pdf_file, job_title, spool_dir, ): + """ Perform the defined print action (doing nothing in L{X2goPrintAction} parent class). @param pdf_file: PDF file name as placed in to the X2Go spool directory @@ -115,6 +115,21 @@ class X2goPrintAction(object): """ pass + def do_print(self, pdf_file, job_title, spool_dir, ): + """\ + Wrap around the actual print action (C{self._do_print}) with + gevent.spawn(). + + @param pdf_file: PDF file name as placed in to the X2Go spool directory + @type pdf_file: C{str} + @param job_title: human readable print job title + @type job_title: C{str} + @param spool_dir: location of the X2Go client's spool directory + @type spool_dir: C{str} + + """ + gevent.spawn(self._do_print, pdf_file, job_title, spool_dir) + def _humanreadable_filename(self, pdf_file, job_title, target_path): """\ Extract a human readable filename for the X2Go print job file. @@ -168,7 +183,7 @@ class X2goPrintActionPDFVIEW(X2goPrintAction): self.pdfview_cmd = pdfview_cmd X2goPrintAction.__init__(self, client_instance=client_instance, logger=logger, loglevel=loglevel) - def do_print(self, pdf_file, job_title, spool_dir, ): + def _do_print(self, pdf_file, job_title, spool_dir, ): """\ Open an incoming X2Go print job (PDF file) in an external PDF viewer application. @@ -250,7 +265,7 @@ class X2goPrintActionPDFSAVE(X2goPrintAction): if not os.path.exists(self.save_to_folder): os.makedirs(self.save_to_folder, mode=0755) - def do_print(self, pdf_file, job_title, spool_dir): + def _do_print(self, pdf_file, job_title, spool_dir): """\ Save an incoming X2Go print job (PDF file) to a local folder. @@ -291,7 +306,7 @@ class X2goPrintActionPRINT(X2goPrintAction): self.printer = printer X2goPrintAction.__init__(self, client_instance=client_instance, logger=logger, loglevel=loglevel) - def do_print(self, pdf_file, job_title, spool_dir, ): + def _do_print(self, pdf_file, job_title, spool_dir, ): """\ Actually really print an incoming X2Go print job (PDF file) to a local printer device. @@ -419,7 +434,7 @@ class X2goPrintActionPRINTCMD(X2goPrintAction): self.print_cmd = print_cmd X2goPrintAction.__init__(self, client_instance=client_instance, logger=logger, loglevel=loglevel) - def do_print(self, pdf_file, job_title, spool_dir): + def _do_print(self, pdf_file, job_title, spool_dir): """\ Execute an external command that has been defined on construction of this L{X2goPrintActionPRINTCMD} instance. 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).