[Checkins] SVN: Products.CMFCore/trunk/Products/CMFCore/ Removed superGetAttr fallback from SkinnableObjectManager. None of its base classes have a `__getattr__` method anymore.
Hanno Schlichting
plone at hannosch.info
Sat Nov 29 08:40:24 EST 2008
Log message for revision 93445:
Removed superGetAttr fallback from SkinnableObjectManager. None of its base classes have a `__getattr__` method anymore.
Changed:
U Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
U Products.CMFCore/trunk/Products/CMFCore/Skinnable.py
-=-
Modified: Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt 2008-11-29 12:36:03 UTC (rev 93444)
+++ Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt 2008-11-29 13:40:23 UTC (rev 93445)
@@ -4,10 +4,13 @@
2.2.0 (unreleased)
------------------
+- Removed superGetAttr fallback from SkinnableObjectManager. None of its base
+ classes have a `__getattr__` method anymore.
+
- PortalObject: Removed backwards compatibility code in getSiteManager.
Please use CMFDefault's upgrade steps for upgrading old CMF sites.
-- Fixed compatibility with non-string execeptoins on Zope trunk.
+- Fixed compatibility with non-string exceptions on Zope trunk.
- Added remove support to GenericSetup types tool exportimport handler.
Modified: Products.CMFCore/trunk/Products/CMFCore/Skinnable.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/Skinnable.py 2008-11-29 12:36:03 UTC (rev 93444)
+++ Products.CMFCore/trunk/Products/CMFCore/Skinnable.py 2008-11-29 13:40:23 UTC (rev 93445)
@@ -31,16 +31,6 @@
logger = logging.getLogger('CMFCore.Skinnable')
-# superGetAttr is assigned to whatever ObjectManager.__getattr__
-# used to do.
-try:
- superGetAttr = ObjectManager.__getattr__
-except AttributeError:
- try:
- superGetAttr = ObjectManager.inheritedAttribute('__getattr__')
- except AttributeError:
- superGetAttr = None
-
_MARKER = object() # Create a new marker object.
@@ -78,8 +68,8 @@
sd = SKINDATA.get(get_ident())
if sd is not None:
ob, skinname, ignore, resolve = sd
- if not ignore.has_key(name):
- if resolve.has_key(name):
+ if not name in ignore:
+ if name in resolve:
return resolve[name]
subob = getattr(ob, name, _MARKER)
if subob is not _MARKER:
@@ -91,9 +81,7 @@
return retval
else:
ignore[name] = 1
- if superGetAttr is None:
- raise AttributeError, name
- return superGetAttr(self, name)
+ raise AttributeError, name
security.declarePrivate('getSkin')
def getSkin(self, name=None):
More information about the Checkins
mailing list