summaryrefslogtreecommitdiff
path: root/src/zope/interface/interface.py
diff options
context:
space:
mode:
authorAndreas Zeidler <az@zitc.de>2008-01-14 20:58:02 +0000
committerAndreas Zeidler <az@zitc.de>2008-01-14 20:58:02 +0000
commitf727ec1e80a278bd74391d818ab28515c25b4c76 (patch)
tree85593f7211a2df0185e65a431bd07d4045a69d76 /src/zope/interface/interface.py
parent87656a26e705dd29fd9e196682c01b498022d44b (diff)
downloadzope-interface-f727ec1e80a278bd74391d818ab28515c25b4c76.tar.gz
reverted r81363 since it "breaks assigning to __class__, which the twisted folks depend on"
Diffstat (limited to 'src/zope/interface/interface.py')
-rw-r--r--src/zope/interface/interface.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/zope/interface/interface.py b/src/zope/interface/interface.py
index 8e2e8e6..4e18f7d 100644
--- a/src/zope/interface/interface.py
+++ b/src/zope/interface/interface.py
@@ -274,7 +274,7 @@ class Specification(SpecificationBase):
def __setBases(self, bases):
# Register ourselves as a dependent of our old bases
- for b in getattr(self, '__bases__', ()):
+ for b in self.__bases__:
b.unsubscribe(self)
# Register ourselves as a dependent of our bases
@@ -284,11 +284,11 @@ class Specification(SpecificationBase):
self.changed(self)
- def __setattr__(self, name, value):
- if name == '__bases__':
- self.__setBases(value)
- else:
- self.__dict__[name] = value
+ __bases__ = property(
+
+ lambda self: self.__dict__.get('__bases__', ()),
+ __setBases,
+ )
def changed(self, originally_changed):
"""We, or something we depend on, have changed