[Erp5-report] r41650 kazuhiko - in /erp5/trunk/bt5/erp5_csv_style: SkinTemplateItem/portal_...

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Dec 22 11:31:00 CET 2010


Author: kazuhiko
Date: Wed Dec 22 11:30:59 2010
New Revision: 41650

URL: http://svn.erp5.org?rev=41650&view=rev
Log:
quote non-str types like list, dict etc.

Modified:
    erp5/trunk/bt5/erp5_csv_style/SkinTemplateItem/portal_skins/erp5_csv_style/Listbox_exportCsv.xml
    erp5/trunk/bt5/erp5_csv_style/bt/revision

Modified: erp5/trunk/bt5/erp5_csv_style/SkinTemplateItem/portal_skins/erp5_csv_style/Listbox_exportCsv.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_csv_style/SkinTemplateItem/portal_skins/erp5_csv_style/Listbox_exportCsv.xml?rev=41650&r1=41649&r2=41650&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_csv_style/SkinTemplateItem/portal_skins/erp5_csv_style/Listbox_exportCsv.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_csv_style/SkinTemplateItem/portal_skins/erp5_csv_style/Listbox_exportCsv.xml [utf8] Wed Dec 22 11:30:59 2010
@@ -60,6 +60,18 @@ translate = context.portal_url.getPortal
 \n
 listboxline_list = context.get_value(\'default\', render_format=\'list\', REQUEST=request)\n
 \n
+def encode(value):\n
+  if isinstance(value, bool):\n
+    return \'"%s"\' % value\n
+  if isinstance(value, (int, long, float)):\n
+    return str(value)\n
+  else:\n
+    if isinstance(value, str):\n
+      value = value.decode(\'utf-8\')\n
+    else:\n
+      value = str(value)\n
+    return \'"%s"\' % value.replace(\'"\', \'""\')\n
+\n
 for listboxline in listboxline_list:\n
   if listboxline.isTitleLine():\n
     line_result = \'\'\n
@@ -74,22 +86,11 @@ for listboxline in listboxline_list:\n
       column_property = column_item[1]\n
 \n
       if column_id is not None:\n
-        if same_type(column_id,\'\'):\n
-          column_id = column_id.replace(\'"\',\'""\')\n
-          line_result += \'"%s"\' % column_id.decode(\'utf-8\')\n
-        else:\n
-          line_result += str(column_id)\n
-\n
+        line_result += encode(column_id)\n
       line_result += str(\',\')\n
 \n
       if column_property is not None:\n
-        if same_type(column_property,\'\'):\n
-          column_property = translate(column_property.decode(\'utf-8\'))\n
-          column_property = column_property.replace(\'"\',\'""\')\n
-          line_result2 += \'"%s"\' % column_property\n
-        else:\n
-          line_result2 += str(column_property)\n
-\n
+        line_result2 += encode(column_property)\n
       line_result2 += str(\',\')\n
 \n
     if len(line_result) > 1:\n
@@ -114,15 +115,7 @@ for listboxline in listboxline_list:\n
     for column_property in listboxline.getColumnPropertyList():\n
 \n
       if column_property is not None:\n
-        if same_type(column_property,\'\'):\n
-          column_property = column_property.replace(\'"\',\'""\')\n
-          line_result += \'"%s"\' % column_property.decode(\'utf-8\')\n
-        elif same_type(column_property,1.0):\n
-          column_property = str(column_property).replace(\'.\',\',\')\n
-          line_result += \'"%s"\' % column_property\n
-        else:\n
-          line_result += str(column_property)\n
-\n
+        line_result += encode(column_property)\n
       line_result += str(\',\')\n
 \n
     if len(line_result) > 1:\n

Modified: erp5/trunk/bt5/erp5_csv_style/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_csv_style/bt/revision?rev=41650&r1=41649&r2=41650&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_csv_style/bt/revision [utf8] (original)
+++ erp5/trunk/bt5/erp5_csv_style/bt/revision [utf8] Wed Dec 22 11:30:59 2010
@@ -1 +1 @@
-15
\ No newline at end of file
+16
\ No newline at end of file



More information about the Erp5-report mailing list