[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