[Erp5-report] r10617 - in /erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins: erp5_dms/...
nobody at svn.erp5.org
nobody at svn.erp5.org
Sun Oct 8 21:30:44 CEST 2006
Author: bartek
Date: Sun Oct 8 21:30:41 2006
New Revision: 10617
URL: http://svn.erp5.org?rev=10617&view=rev
Log:
parallel list filed hashing method now trims category name and uses caching
Added:
erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms_patch/Base_trimPathName.xml
Modified:
erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/DMSBaseCategoryHash.xml
Modified: erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/DMSBaseCategoryHash.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/DMSBaseCategoryHash.xml?rev=10617&r1=10616&r2=10617&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/DMSBaseCategoryHash.xml (original)
+++ erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/DMSBaseCategoryHash.xml Sun Oct 8 21:30:41 2006
@@ -68,24 +68,35 @@
</item>
<item>
<key> <string>_body</string> </key>
- <value> <string>sub_field_dict={}\n
-maximum_list_size=5\n
+ <value> <string>from Products.ERP5Type.Cache import CachingMethod\n
\n
-default_sub_field_property_dict[\'field_type\']=\'ListField\'\n
-default_sub_field_property_dict[\'size\']=1\n
+def cached_DMSBaseCategoryHash(item_list,value_list,default_sub_field_property_dict,is_right_display):\n
+ if default_sub_field_property_dict is None:\n
+ default_sub_field_property_dict={\'field_type\': \'MultiListField\', \'item_list\': [], \'required\': 0, \'value\': [], \'is_right_display\': 0, \'key\': \'default\', \'title\': \'Categories\', \'size\': 5}\n
\n
-for base_category in item_list:\n
- if not sub_field_dict.has_key(base_category):\n
- basecatobject=context.portal_categories.resolveCategory(base_category)\n
- sub_field_property_dict=default_sub_field_property_dict.copy()\n
- sub_field_property_dict[\'key\']=base_category\n
- sub_field_property_dict[\'title\']=basecatobject.getTranslatedTitle()\n
- sub_field_property_dict[\'item_list\']=basecatobject.getCategoryChildLogicalPathItemList()\n
- sub_field_property_dict[\'value\']=context.aq_parent.aq_parent.getProperty(base_category)\n
- \n
- sub_field_dict[base_category]=sub_field_property_dict\n
+ sub_field_dict={}\n
+ maximum_list_size=5\n
\n
-return sub_field_dict.values()\n
+ default_sub_field_property_dict[\'field_type\']=\'ListField\'\n
+ default_sub_field_property_dict[\'size\']=1\n
+\n
+ for base_category in item_list:\n
+ if not sub_field_dict.has_key(base_category):\n
+ basecatobject=context.portal_categories.resolveCategory(base_category)\n
+ sub_field_property_dict=default_sub_field_property_dict.copy()\n
+ sub_field_property_dict[\'key\']=base_category\n
+ sub_field_property_dict[\'title\']=basecatobject.getTranslatedTitle()\n
+ sub_field_property_dict[\'item_list\']=[(context.Base_trimPathName(x,100),y) for x,y in basecatobject.getCategoryChildLogicalPathItemList()]\n
+ sub_field_property_dict[\'value\']=context.aq_parent.aq_parent.getProperty(base_category)\n
+ \n
+ sub_field_dict[base_category]=sub_field_property_dict\n
+\n
+ return sub_field_dict.values()\n
+cached_DMSBaseCategoryHash=CachingMethod(cached_DMSBaseCategoryHash,id=\'DMSParallelListField_DMSBaseCategoryHash\')\n
+return cached_DMSBaseCategoryHash(item_list,value_list,default_sub_field_property_dict,is_right_display)\n
+\n
+\n
+# vim: syntax=python shiftwidth=2\n
</string> </value>
</item>
<item>
@@ -102,7 +113,7 @@
</item>
<item>
<key> <string>_params</string> </key>
- <value> <string>item_list, value_list, default_sub_field_property_dict, is_right_display</string> </value>
+ <value> <string>item_list, value_list=(), default_sub_field_property_dict=None, is_right_display=0</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
@@ -132,15 +143,9 @@
<string>value_list</string>
<string>default_sub_field_property_dict</string>
<string>is_right_display</string>
- <string>sub_field_dict</string>
- <string>maximum_list_size</string>
- <string>_write_</string>
- <string>_getiter_</string>
- <string>base_category</string>
- <string>_getattr_</string>
- <string>context</string>
- <string>basecatobject</string>
- <string>sub_field_property_dict</string>
+ <string>Products.ERP5Type.Cache</string>
+ <string>CachingMethod</string>
+ <string>cached_DMSBaseCategoryHash</string>
</tuple>
</value>
</item>
@@ -152,7 +157,11 @@
<item>
<key> <string>func_defaults</string> </key>
<value>
- <none/>
+ <tuple>
+ <tuple/>
+ <none/>
+ <int>0</int>
+ </tuple>
</value>
</item>
<item>
Added: erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms_patch/Base_trimPathName.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms_patch/Base_trimPathName.xml?rev=10617&view=auto
==============================================================================
--- erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms_patch/Base_trimPathName.xml (added)
+++ erp5/trunk/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms_patch/Base_trimPathName.xml Sun Oct 8 21:30:41 2006
@@ -1,0 +1,164 @@
+<?xml version="1.0"?>
+<ZopeData>
+ <record id="1" aka="AAAAAAAAAAE=">
+ <pickle>
+ <tuple>
+ <tuple>
+ <string>Products.PythonScripts.PythonScript</string>
+ <string>PythonScript</string>
+ </tuple>
+ <none/>
+ </tuple>
+ </pickle>
+ <pickle>
+ <dictionary>
+ <item>
+ <key> <string>Python_magic</string> </key>
+ <value>
+ <none/>
+ </value>
+ </item>
+ <item>
+ <key> <string>Script_magic</string> </key>
+ <value> <int>3</int> </value>
+ </item>
+ <item>
+ <key> <string>__ac_local_roles__</string> </key>
+ <value>
+ <none/>
+ </value>
+ </item>
+ <item>
+ <key> <string>_bind_names</string> </key>
+ <value>
+ <object>
+ <klass>
+ <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+ </klass>
+ <tuple/>
+ <state>
+ <dictionary>
+ <item>
+ <key> <string>_asgns</string> </key>
+ <value>
+ <dictionary>
+ <item>
+ <key> <string>name_container</string> </key>
+ <value> <string>container</string> </value>
+ </item>
+ <item>
+ <key> <string>name_context</string> </key>
+ <value> <string>context</string> </value>
+ </item>
+ <item>
+ <key> <string>name_m_self</string> </key>
+ <value> <string>script</string> </value>
+ </item>
+ <item>
+ <key> <string>name_subpath</string> </key>
+ <value> <string>traverse_subpath</string> </value>
+ </item>
+ </dictionary>
+ </value>
+ </item>
+ </dictionary>
+ </state>
+ </object>
+ </value>
+ </item>
+ <item>
+ <key> <string>_body</string> </key>
+ <value> <string encoding="cdata"><![CDATA[
+
+if len(name)<chars:\n
+ return name\n
+a=name.split(\'/\')\n
+if a[0]==\'\':a=a[1:]\n
+dif=len(name)-chars\n
+ind=1\n
+while dif>0 and ind<len(a)-1:\n
+ dif=dif-len(a[ind])+2\n
+ a[ind]=\'..\'\n
+ ind+=1\n
+return \'/\'.join(a)\n
+
+
+]]></string> </value>
+ </item>
+ <item>
+ <key> <string>_code</string> </key>
+ <value>
+ <none/>
+ </value>
+ </item>
+ <item>
+ <key> <string>_filepath</string> </key>
+ <value>
+ <none/>
+ </value>
+ </item>
+ <item>
+ <key> <string>_params</string> </key>
+ <value> <string>name,chars</string> </value>
+ </item>
+ <item>
+ <key> <string>errors</string> </key>
+ <value>
+ <tuple/>
+ </value>
+ </item>
+ <item>
+ <key> <string>func_code</string> </key>
+ <value>
+ <object>
+ <klass>
+ <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+ </klass>
+ <tuple/>
+ <state>
+ <dictionary>
+ <item>
+ <key> <string>co_argcount</string> </key>
+ <value> <int>2</int> </value>
+ </item>
+ <item>
+ <key> <string>co_varnames</string> </key>
+ <value>
+ <tuple>
+ <string>name</string>
+ <string>chars</string>
+ <string>len</string>
+ <string>_getattr_</string>
+ <string>a</string>
+ <string>_getitem_</string>
+ <string>dif</string>
+ <string>ind</string>
+ <string>_write_</string>
+ </tuple>
+ </value>
+ </item>
+ </dictionary>
+ </state>
+ </object>
+ </value>
+ </item>
+ <item>
+ <key> <string>func_defaults</string> </key>
+ <value>
+ <none/>
+ </value>
+ </item>
+ <item>
+ <key> <string>id</string> </key>
+ <value> <string>Base_trimPathName</string> </value>
+ </item>
+ <item>
+ <key> <string>warnings</string> </key>
+ <value>
+ <tuple/>
+ </value>
+ </item>
+ </dictionary>
+ </pickle>
+ </record>
+</ZopeData>
More information about the Erp5-report
mailing list