[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