From 49fb25ca6743065f26f84eb50455320e7140e85e Mon Sep 17 00:00:00 2001
From: Sebastien Robin <seb@nexedi.com>
Date: Fri, 14 Sep 2007 08:10:51 +0000
Subject: [PATCH] get dynamically all methods to patch

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@16356 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/Core/Folder.py | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/product/ERP5Type/Core/Folder.py b/product/ERP5Type/Core/Folder.py
index 0cca773bac..8e2f1ce887 100644
--- a/product/ERP5Type/Core/Folder.py
+++ b/product/ERP5Type/Core/Folder.py
@@ -1290,13 +1290,9 @@ class Folder(CopyContainer, CMFBTreeFolder, CMFHBTreeFolder, Base, FolderMixIn,
 Folder.setTitle = Base.setTitle
 
 candidate_method_id_list = []
-candidate_method_id_list = ["initBTrees", "manage_fixCount", "manage_cleanup",
-                    "getBatchObjectListing", "manage_object_workspace",
-                    "tpValues", "objectCount", "has_key", "objectIds",
-                    "objectItems", "objectMap", "objectIds_d", "objectMap_d",
-                    "keys", "values", "items", "hasObject", "generateId",
-                    "__len__", "allowedContentTypes", "_delOb",
-                    "_getOb", "_setObject", "_initBTrees", "_populateFromFolder",
-                    "_fixCount", "_cleanup", "_setOb", "_checkId", "_delObject",]
+for folder_class in (HBTreeFolder2Base, HBTreeFolder2, CMFHBTreeFolder):
+  candidate_method_id_list.extend([x for x in folder_class.__dict__
+                            if callable(getattr(folder_class, x)) and not
+                            x in ('__getattr__','__init__', 'get')])
 for method_id in candidate_method_id_list:
   setattr(Folder, method_id, FolderMethodWrapper(method_id))
-- 
2.30.9