[X2Go-Commits] python-x2go.git - brokerclient (branch) updated: 0.1.1.4-119-ged6cc9d

X2Go dev team git-admin at x2go.org
Tue Jan 7 16:21:00 CET 2014


The branch, brokerclient 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 -----------------------------------------------------------------
-----------------------------------------------------------------------

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




More information about the x2go-commits mailing list