diff options
Diffstat (limited to 'src/zope/interface/declarations.py')
| -rw-r--r-- | src/zope/interface/declarations.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/zope/interface/declarations.py b/src/zope/interface/declarations.py index 3bc28a7..44a40e2 100644 --- a/src/zope/interface/declarations.py +++ b/src/zope/interface/declarations.py @@ -31,6 +31,7 @@ __docformat__ = 'restructuredtext' import sys import weakref from zope.interface.interface import InterfaceClass, Specification +from zope.interface.interface import SpecificationBase from ro import mergeOrderings, ro import exceptions from types import ClassType, ModuleType @@ -1248,7 +1249,8 @@ def getObjectSpecification(ob): provides = getattr(ob, '__provides__', None) if provides is not None: - return provides + if isinstance(provides, SpecificationBase): + return provides try: cls = ob.__class__ |
