[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