diff options
| author | Andreas Zeidler <az@zitc.de> | 2008-01-14 20:58:02 +0000 |
|---|---|---|
| committer | Andreas Zeidler <az@zitc.de> | 2008-01-14 20:58:02 +0000 |
| commit | f727ec1e80a278bd74391d818ab28515c25b4c76 (patch) | |
| tree | 85593f7211a2df0185e65a431bd07d4045a69d76 /src/zope/interface/interface.py | |
| parent | 87656a26e705dd29fd9e196682c01b498022d44b (diff) | |
| download | zope-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.py | 12 |
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 |
