[Erp5-report] r16607 - /erp5/trunk/products/ERP5Type/Core/Folder.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Sep 25 16:17:33 CEST 2007
Author: vincent
Date: Tue Sep 25 16:17:33 2007
New Revision: 16607
URL: http://svn.erp5.org?rev=16607&view=rev
Log:
Do not use "getattr" to guess the folder type:
- Object is wrapped in acquisition, so we can get attributes from its containers
- Classes implemeting folder-ish objects *do* define those attributes with varying values (empty tuple on OFS.Folder, None on BTreeFolder, etc).
So the attribute presence must be grabbed from instance properties *only*.
Modified:
erp5/trunk/products/ERP5Type/Core/Folder.py
Modified: erp5/trunk/products/ERP5Type/Core/Folder.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Core/Folder.py?rev=16607&r1=16606&r2=16607&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Core/Folder.py (original)
+++ erp5/trunk/products/ERP5Type/Core/Folder.py Tue Sep 25 16:17:33 2007
@@ -375,10 +375,7 @@
return getattr(CMFBTreeFolder, id)
def isApplicable(self, folder):
- result = False
- if getattr(folder, '_tree', None) is not None:
- result = True
- return result
+ return '_tree' in getattr(folder, '__dict__', tuple())
class CMFHBTreeFolderHandler(FolderHandler):
@@ -389,10 +386,7 @@
return getattr(CMFHBTreeFolder, id)
def isApplicable(self, folder):
- result = False
- if getattr(folder, '_htree', None) is not None:
- result = True
- return result
+ return '_htree' in getattr(folder, '__dict__', tuple())
class OFSFolderHandler(FolderHandler):
@@ -403,10 +397,7 @@
return getattr(OFSFolder, id)
def isApplicable(self, folder):
- result = False
- if getattr(folder, '_objects', None) is not None:
- result = True
- return result
+ return '_objects' in getattr(folder, '__dict__', tuple())
global folder_handler_dict
folder_handler_dict = {}
More information about the Erp5-report
mailing list