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

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Oct 15 21:12:01 CEST 2008


Author: kazuhiko
Date: Wed Oct 15 21:12:00 2008
New Revision: 24211

URL: http://svn.erp5.org?rev=24211&view=rev
Log:
if orig_format='text/html' is specified, the document should be handled as Writer's document instead of Web's document (default).

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=24211&r1=24210&r2=24211&view=diff
==============================================================================
--- erp5/trunk/utils/oood/mimemapper.py (original)
+++ erp5/trunk/utils/oood/mimemapper.py Wed Oct 15 21:12:00 2008
@@ -37,6 +37,11 @@
 from com.sun.star.beans import PropertyValue
 
 class MimeMapper:
+
+  # specify import filter for certain mimetypes.
+  import_filter_by_mimetype = {
+    'text/html':'HTML (StarWriter)'
+    }
 
   # currently we use a unique extension for each export filter.
   extension_by_export_filter_dict = {
@@ -259,7 +264,7 @@
         continue
       # we found a entry split by ';' instead of ' '.
       extensions = prop_by_name(type_node, 'Extensions').replace(';', ' ').split(' ')
-      if extensions is not None:
+      if extensions != '':
         for extension in extensions:
           self.document_type_by_extension_dict[extension] = document_type
       mimetype = prop_by_name(type_node, 'MediaType')
@@ -472,6 +477,9 @@
   def getFilterForExt(self, format):
     return self.export_filter_by_extension_dict.get(format, None)
 
+  def getInputFilterForMime(self, mimetype):
+    return self.import_filter_by_mimetype.get(mimetype, None)
+
 mimemapper = MimeMapper()
 
 if __name__=='__main__':

Modified: erp5/trunk/utils/oood/worker.py
URL: http://svn.erp5.org/erp5/trunk/utils/oood/worker.py?rev=24211&r1=24210&r2=24211&view=diff
==============================================================================
--- erp5/trunk/utils/oood/worker.py (original)
+++ erp5/trunk/utils/oood/worker.py Wed Oct 15 21:12:00 2008
@@ -250,14 +250,10 @@
       prop_encoding = PropertyValue("FilterOptions", 0, kw['encoding'], 0)
       inProps = (self.inProps[0], prop_name, prop_encoding)
     if 'orig_format' in kw:
-      # if orig_format is given, just add an appropriate extension to
-      # fname, that can be a hint for OOo to guess the format.
-      # extension = mimemapper.getExtForMime(kw['orig_format'])
-      # if extension is not None:
-      #   new_fname = fname + '.%s' % extension
-      #   os.rename(fname, new_fname)
-      #   fname = new_fname
-      pass
+      filter_name = mimemapper.getInputFilterForMime(kw['orig_format'])
+      if filter_name is not None:
+        prop_name = PropertyValue('FilterName', 0, filter_name, 0)
+        inProps = (self.inProps[0], prop_name)
     self.fileUrl = absolutize(self.cwd,systemPathToFileUrl(fname))
     try:
       self.doc = self.desktop.loadComponentFromURL(self.fileUrl, '_blank', 0, inProps)




More information about the Erp5-report mailing list