[Erp5-report] r23009 - in /erp5/trunk/utils/oood: mimemapper.py worker.py

nobody at svn.erp5.org nobody at svn.erp5.org
Sat Aug 16 23:38:57 CEST 2008


Author: kazuhiko
Date: Sat Aug 16 23:38:57 2008
New Revision: 23009

URL: http://svn.erp5.org?rev=23009&view=rev
Log:
bugfixes.

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

Modified: erp5/trunk/utils/oood/mimemapper.py
URL: http://svn.erp5.org/erp5/trunk/utils/oood/mimemapper.py?rev=23009&r1=23008&r2=23009&view=diff
==============================================================================
--- erp5/trunk/utils/oood/mimemapper.py (original)
+++ erp5/trunk/utils/oood/mimemapper.py Sat Aug 16 23:38:57 2008
@@ -27,7 +27,6 @@
 #
 ##############################################################################
 
-import operator
 import sys
 from glob import glob
 from xml.dom.minidom import parse
@@ -199,7 +198,7 @@
         if x.getAttribute('oor:name') == name:
           try:
             value = x.getElementsByTagName('value')[0]
-            return value.firstChild.data
+            return value.firstChild.data.encode('utf8')
           except IndexError:
             return None
       return None
@@ -252,7 +251,7 @@
       mimetype = prop_by_name(type_node, 'MediaType')
       if mimetype is not None:
         self.document_type_by_mimetype_dict[mimetype] = document_type
-      input_filter = filter_node.getAttribute('oor:name')
+      input_filter = filter_node.getAttribute('oor:name').encode('utf8')
       self.document_type_by_input_filter_dict[input_filter] = document_type
       self.extension_by_mimetype_dict[mimetype] = extensions[0]
 
@@ -270,7 +269,7 @@
                                                           'DocumentService'))
       if document_type is None:
         continue
-      export_filter = filter_node.getAttribute('oor:name')
+      export_filter = filter_node.getAttribute('oor:name').encode('utf8')
       flags = prop_by_name(filter_node, 'Flags')
       if flags.find('EXPORT') == -1:
         continue
@@ -283,7 +282,7 @@
       if ui_name is None:
         continue
       if ui_name.find('%') != -1:
-        ui_name = filter_node.getAttribute('oor:name')
+        ui_name = filter_node.getAttribute('oor:name').encode('utf8')
       media_type = prop_by_name(type_node, 'MediaType') or \
                    'application/octet-stream'
       # we found a entry split by ';' instead of ' '.
@@ -427,12 +426,15 @@
       Get properties for generating file in a given format
       (format is given as mimetype or extension)
     """
-    if filter_name is not None:
-      filter_name = self.export_filter_by_extension_dict[extension]
+    if filter_name is None:
+      filter_name = self.getFilterForExt(extension)
     return self.filter_property_dict.get(filter_name, None)
 
   def getExtForMime(self, mimetype):
     return self.extension_by_mimetype_dict.get(mimetype, None)
+
+  def getFilterForExt(self, format):
+    return self.export_filter_by_extension_dict.get(format, None)
 
 mimemapper = MimeMapper()
 

Modified: erp5/trunk/utils/oood/worker.py
URL: http://svn.erp5.org/erp5/trunk/utils/oood/worker.py?rev=23009&r1=23008&r2=23009&view=diff
==============================================================================
--- erp5/trunk/utils/oood/worker.py (original)
+++ erp5/trunk/utils/oood/worker.py Sat Aug 16 23:38:57 2008
@@ -150,7 +150,7 @@
     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
+    kw['mime'] = mime
     kw['newfilename'] = fileUrlToSystemPath(self.destUrl)
 
   def setmetadata(self, kw):
@@ -281,17 +281,18 @@
       From the ODF file that was submitted to the worker, now generate an output file
       in a desired format
     """
+    export_filter = mimemapper.getFilterForExt(format)
     type_info = mimemapper.getTypePropertyDict(extension=format)
     if type_info is None:
       raise lib.IllegalFormat(format)
     self.destUrl = self.fileUrl + '.' + format # we want it very unique
-    outprops = [PropertyValue('FilterName', 0, type_info['export_filter'], 0),
-                PropertyValue('Overwrite',0,True,0),]
+    outprops = [PropertyValue('FilterName', 0, export_filter, 0),
+                PropertyValue('Overwrite', 0, True, 0),]
     export_props = type_info.get('export_props', None)
     if export_props is not None:
       outprops.extend(export_props)
     try:
-      self.doc.storeToURL(self.destUrl, outprops)
+      self.doc.storeToURL(self.destUrl, tuple(outprops))
     except ErrorCodeIOException:
       raise lib.GenerationFailed(self.fileUrl + ' to format ' + format)
 




More information about the Erp5-report mailing list