[Erp5-report] r14112 - in /erp5/trunk/utils/oood: config.py serw.py worker.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Apr 18 16:33:02 CEST 2007


Author: bartek
Date: Wed Apr 18 16:33:00 2007
New Revision: 14112

URL: http://svn.erp5.org?rev=14112&view=rev
Log:
new: method to print document directly from oood on a printer local to the server, without conversion

Modified:
    erp5/trunk/utils/oood/config.py
    erp5/trunk/utils/oood/serw.py
    erp5/trunk/utils/oood/worker.py

Modified: erp5/trunk/utils/oood/config.py
URL: http://svn.erp5.org/erp5/trunk/utils/oood/config.py?rev=14112&r1=14111&r2=14112&view=diff
==============================================================================
--- erp5/trunk/utils/oood/config.py (original)
+++ erp5/trunk/utils/oood/config.py Wed Apr 18 16:33:00 2007
@@ -49,6 +49,7 @@
 
 server_host = '127.0.0.1'
 server_port = 8008  # Other http-alt ports are 591 and 8080
+printer_name = 'default_printer' # name of local printer to print files directly
 
 
 ###################################################################

Modified: erp5/trunk/utils/oood/serw.py
URL: http://svn.erp5.org/erp5/trunk/utils/oood/serw.py?rev=14112&r1=14111&r2=14112&view=diff
==============================================================================
--- erp5/trunk/utils/oood/serw.py (original)
+++ erp5/trunk/utils/oood/serw.py Wed Apr 18 16:33:00 2007
@@ -69,7 +69,7 @@
     (only positional args are supported - this is xmlrpclib limitation)
   """
 
-  public_funcs = ('convert', 'getmetadata', 'setmetadata', 'generate', 'getmetadatatoolong')
+  public_funcs = ('convert', 'getmetadata', 'setmetadata', 'generate', 'getmetadatatoolong', 'printDocument')
 
   def __init__(self):
     self._generateFuncs()
@@ -115,6 +115,12 @@
     """
     w.run_generate(kw)
     return True
+
+  def printDocument(self, w, kw):
+    """
+      print the document directly from OpenOffice to the local printer
+    """
+    w.run_printDocument(kw)
 
   def getAllowedTargetItemList(self, mimetype):
     """

Modified: erp5/trunk/utils/oood/worker.py
URL: http://svn.erp5.org/erp5/trunk/utils/oood/worker.py?rev=14112&r1=14111&r2=14112&view=diff
==============================================================================
--- erp5/trunk/utils/oood/worker.py (original)
+++ erp5/trunk/utils/oood/worker.py Wed Apr 18 16:33:00 2007
@@ -168,7 +168,14 @@
     meta = self._getMetadata()
     kw['meta']=meta
     return meta
-  
+
+  def printDocument(self, kw):
+    """
+      print the document directly on local printer, without any conversion
+    """
+    self._loadFile(kw['filename'])
+    self._printDocument()
+   
   def _generateFuncs(self):
     """
       generates functions run_<funcname>
@@ -338,6 +345,20 @@
       else:
         raise lib.IllegalMetaAttribute(k)
 
+  def _printDocument(self):
+    """
+      prints out current document on the printer queue set in config
+    """
+    try:
+      prter = self.doc.getPrinter()
+      print_method = getattr(self.doc, 'print')
+      prter[0].Value = config.printer_name
+      self.doc.setPrinter(prter)
+      print_method(())
+    except Exception, e:
+      Log.logException(e)
+      raise e
+
   def getAllowedTargetItemList(self,mimetype):
     """
       list types which can be generated from given OOo type




More information about the Erp5-report mailing list