[Erp5-report] r14446 - /erp5/trunk/utils/oood/worker.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu May 10 16:21:28 CEST 2007


Author: bartek
Date: Thu May 10 16:21:28 2007
New Revision: 14446

URL: http://svn.erp5.org?rev=14446&view=rev
Log:
allow for passing encoding for encoded text files (iso, utf etc.)

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

Modified: erp5/trunk/utils/oood/worker.py
URL: http://svn.erp5.org/erp5/trunk/utils/oood/worker.py?rev=14446&r1=14445&r2=14446&view=diff
==============================================================================
--- erp5/trunk/utils/oood/worker.py (original)
+++ erp5/trunk/utils/oood/worker.py Thu May 10 16:21:28 2007
@@ -144,7 +144,7 @@
     """
       convertion to OOo, produces metadata and OOo file url
     """
-    self._loadFile(kw['filename'])
+    self._loadFile(kw['filename'], kw)
     self._convert()
     # if the doc doesn't have title or reference, we use filename for them
     # only on ERP5 object (we don't set them on file)
@@ -167,7 +167,7 @@
       generate file in a requested format, return file url
       and a respective mime type
     """
-    self._loadFile(kw['filename'])
+    self._loadFile(kw['filename'], kw)
     self._generate(kw['extension'])
     mime = mimemapper.getMimeFor(kw['extension'])
     kw['mime'] = mime[0] # it is a tuple; can be multiple but we don't know which exactly was requested
@@ -205,7 +205,7 @@
     """
       print the document directly on local printer, without any conversion
     """
-    self._loadFile(kw['filename'])
+    self._loadFile(kw['filename'], kw)
     self._printDocument()
    
   def _generateFuncs(self):
@@ -259,11 +259,16 @@
     for atr in ('fileUrl','doc','dinfo','metadata','destUrl'):
       setattr(self,atr,None)
 
-  def _loadFile(self,fname):
+  def _loadFile(self,fname, kw={}):
     Log.info('[worker] trying to load %s' % fname)
     self.fileUrl = absolutize(self.cwd,systemPathToFileUrl(fname))
-    try:
-      self.doc = self.desktop.loadComponentFromURL(self.fileUrl,'_blank',0,self.inProps)
+    inProps = self.inProps
+    if kw.has_key('encoding'):
+      prop_name = PropertyValue("FilterName", 0, "Text (encoded)", 0)
+      prop_encoding = PropertyValue("FilterOptions", 0, kw['encoding'], 0)
+      inProps = (self.inProps[0], prop_name, prop_encoding)
+    try:
+      self.doc = self.desktop.loadComponentFromURL(self.fileUrl, '_blank', 0, inProps)
     except IllegalArgumentException:
       Log.error('[worker] ' + fname + ' could not be loaded into OpenOffice')
       raise lib.NotLoaded(fname + ' could not be loaded into OpenOffice')




More information about the Erp5-report mailing list