--- a/src/pyams_utils/adapter.py Fri Jun 15 10:59:13 2018 +0200
+++ b/src/pyams_utils/adapter.py Fri Jun 15 16:34:59 2018 +0200
@@ -27,13 +27,11 @@
import venusian
-from inspect import isclass
-
# import interfaces
from zope.annotation.interfaces import IAnnotations
# import packages
-from pyams_utils.factory import get_object_factory
+from pyams_utils.factory import get_object_factory, is_interface
from pyams_utils.registry import get_current_registry
from zope.interface import implementedBy, alsoProvides, Interface
from zope.lifecycleevent import ObjectCreatedEvent
@@ -160,7 +158,7 @@
elif factory is None:
return None
else:
- if isclass(factory) and issubclass(factory, Interface):
+ if is_interface(factory):
factory = get_object_factory(factory)
assert factory is not None, "Missing object factory"
adapter = annotations[key] = factory()