[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