[Erp5-report] r35915 seb - in /erp5/trunk: bt5/erp5_base/SkinTemplateItem/portal_skins/erp5...

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Jun 2 17:27:21 CEST 2010


Author: seb
Date: Wed Jun  2 17:27:20 2010
New Revision: 35915

URL: http://svn.erp5.org?rev=35915&view=rev
Log:
fixed Document_getStandardFileName, previously it was able to
return something like foo.pdf-001-en instead of foo-001-en.pdf

Modified:
    erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFileName.xml
    erp5/trunk/products/ERP5OOo/tests/testDms.py

Modified: erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFileName.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFileName.xml?rev=35915&r1=35914&r2=35915&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFileName.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Document_getStandardFileName.xml [utf8] Wed Jun  2 17:27:20 2010
@@ -67,16 +67,17 @@
   file_name = context.getSourceReference()\n
 else:\n
   file_name = context.getTitleOrId()\n
-if \'.\' in file_name and format:\n
+original_extension = None\n
+if \'.\' in file_name:\n
   # delete actual extension if dot inside string and new format\n
   # is provided\n
-  file_name = \'.\'.join(file_name.split(\'.\')[:-1])\n
+  file_name, original_extension = file_name.rsplit(\'.\', 1)\n
 if context.getVersion():\n
   file_name = \'%s-%s\' % (file_name, context.getVersion(),)\n
 if context.getLanguage():\n
   file_name = \'%s-%s\' % (file_name, context.getLanguage(),)\n
-if format:\n
-  file_name = \'%s.%s\' % (file_name, format,)\n
+if format or original_extension:\n
+  file_name = \'%s.%s\' % (file_name, format or original_extension,)\n
 return file_name\n
 </string> </value>
         </item>
@@ -118,7 +119,9 @@
                             <string>_getattr_</string>
                             <string>context</string>
                             <string>file_name</string>
-                            <string>_getitem_</string>
+                            <string>None</string>
+                            <string>original_extension</string>
+                            <string>_getiter_</string>
                           </tuple>
                         </value>
                     </item>

Modified: erp5/trunk/products/ERP5OOo/tests/testDms.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/testDms.py?rev=35915&r1=35914&r2=35915&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/tests/testDms.py [utf8] (original)
+++ erp5/trunk/products/ERP5OOo/tests/testDms.py [utf8] Wed Jun  2 17:27:20 2010
@@ -1235,6 +1235,21 @@
     document.edit(file=upload_file)
     self.assertEquals('application/pdf', document.getContentType())
 
+  def test_Document_getStandardFileName(self):
+    upload_file = makeFileUpload('metadata.pdf')
+    document = self.portal.document_module.newContent(portal_type='PDF')
+    # Here we use edit instead of setFile,
+    # because only edit method set filename as source_reference.
+    document.edit(file=upload_file)
+    self.assertEquals(document.getStandardFileName(), 'metadata.pdf')
+    self.assertEquals(document.getStandardFileName(format='png'),
+                      'metadata.png')
+    document.setVersion('001')
+    document.setLanguage('en')
+    self.assertEquals(document.getStandardFileName(), 'metadata-001-en.pdf')
+    self.assertEquals(document.getStandardFileName(format='png'),
+                      'metadata-001-en.png')
+
   def test_CMYKImageTextContent(self):
     upload_file = makeFileUpload('cmyk_sample.jpg')
     document = self.portal.portal_contributions.newContent(file=upload_file)




More information about the Erp5-report mailing list