[Erp5-report] r38314 nicolas - /erp5/trunk/products/ERP5/Document/File.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Sep 13 17:25:24 CEST 2010
Author: nicolas
Date: Mon Sep 13 17:25:18 2010
New Revision: 38314
URL: http://svn.erp5.org?rev=38314&view=rev
Log:
Add support of cache
Modified:
erp5/trunk/products/ERP5/Document/File.py
Modified: erp5/trunk/products/ERP5/Document/File.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/File.py?rev=38314&r1=38313&r2=38314&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/File.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/File.py [utf8] Mon Sep 13 17:25:18 2010
@@ -299,17 +299,24 @@ class File(Document, CMFFile):
elif content_type in portal.portal_transforms._mtmap:
# Look if portal_transforms can handle the content_type
# of this File
- mime_type = getToolByName(portal, 'mimetypes_registry').\
- lookupExtension('name.%s' % format)
- result = portal.portal_transforms.convertToData(mime_type, self.getData(),
- object=self, context=self,
- mimetype=content_type)
- if not result:
- raise ConversionError('File conversion error. '
- 'portal_transforms failed to convert '\
- 'from %s to %s; %r' % (content_type, mime_type,
- self))
- return str(mime_type), result
+ kw['format'] = format
+ if not self.hasConversion(**kw):
+ mime_type = str(getToolByName(portal, 'mimetypes_registry').\
+ lookupExtension('name.%s' % format))
+ result = portal.portal_transforms.convertToData(mime_type,
+ self.getData(),
+ object=self,
+ context=self,
+ mimetype=content_type)
+ if not result:
+ raise ConversionError('File conversion error. '
+ 'portal_transforms failed to convert '\
+ 'from %s to %s; %r' % (content_type, mime_type,
+ self))
+ self.setConversion(result, mime_type, **kw)
+ else:
+ mime_type, result = self.getConversion(**kw)
+ return mime_type, result
else:
# We didn't find suitable wrapper to convert this File
if format in VALID_TEXT_FORMAT_LIST:
More information about the Erp5-report
mailing list