[Erp5-report] r22987 - /erp5/trunk/utils/oood/worker.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Aug 13 22:28:49 CEST 2008
Author: kazuhiko
Date: Wed Aug 13 22:28:49 2008
New Revision: 22987
URL: http://svn.erp5.org?rev=22987&view=rev
Log:
if MIMEType information is not found in loaded document (it happens for
*.ppt or *.xls with Mandriva's OOo package), oood tries to guess from
the extension or the filename in the request.
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=22987&r1=22986&r2=22987&view=diff
==============================================================================
--- erp5/trunk/utils/oood/worker.py (original)
+++ erp5/trunk/utils/oood/worker.py Wed Aug 13 22:28:49 2008
@@ -123,7 +123,7 @@
convertion to OOo, produces metadata and OOo file url
"""
self._loadFile(kw['filename'], kw)
- self._convert()
+ self._convert(kw)
# 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)
# strip filename of #_ prefix
@@ -309,7 +309,7 @@
metadata[caseDown(n)] = v
return metadata
- def _convert(self):
+ def _convert(self, kw):
"""
This method converts non-ODF format into an ODF
only known mimetypes,store as a file with
@@ -318,7 +318,19 @@
replacing, because filename may have unusual extension or
none at all
"""
- odf_format_info = mimemapper.getOdfInfo(self.metadata['MIMEType'])
+ odf_format_info = None
+ mimetype = self.metadata.get('MIMEType', None)
+ if mimetype is not None:
+ odf_format_info = mimemapper.getOdfInfo(mimetype)
+ else:
+ extension = kw.get('extension', None)
+ if extension is not None:
+ odf_format_info = mimemapper.getOdfInfo(extension=extension)
+ else:
+ filename = kw.get('filename', None)
+ if filename is not None and filename.find('.') != -1:
+ extension = filename.rsplit('.', 1)[-1]
+ odf_format_info = mimemapper.getOdfInfo(extension=extension)
if odf_format_info is None:
raise lib.IllegalMimeType(self.metadata['MIMEType'])
ext = odf_format_info[0]
More information about the Erp5-report
mailing list