--- a/src/pyams_content/component/theme/__init__.py Wed Jan 16 19:10:46 2019 +0100
+++ b/src/pyams_content/component/theme/__init__.py Thu Jan 17 12:17:24 2019 +0100
@@ -14,7 +14,6 @@
from persistent import Persistent
from zope.container.contained import Contained
-from zope.interface import implementer
from zope.schema.fieldproperty import FieldProperty
from pyams_content.component.theme.interfaces import IThemesManagerTarget, IThemesManager, THEMES_MANAGER_KEY, \
@@ -24,6 +23,7 @@
from pyams_content.features.checker import BaseContentChecker
from pyams_content.features.checker.interfaces import IContentChecker, ERROR_VALUE
from pyams_utils.adapter import adapter_config, get_annotation_adapter
+from pyams_utils.factory import factory_config
from pyams_content import _
@@ -32,7 +32,7 @@
# Tags management
#
-@implementer(ITagsManager)
+@factory_config(ITagsManager)
class TagsManager(Persistent, Contained):
"""Tags manager persistent class"""
@@ -49,10 +49,11 @@
@adapter_config(context=ITagsManagerTarget, provides=ITagsManager)
def tags_manager_factory(target):
"""Tags manager factory"""
- return get_annotation_adapter(target, TAGS_MANAGER_KEY, TagsManager, name='++tags-manager++')
+ return get_annotation_adapter(target, TAGS_MANAGER_KEY, ITagsManager,
+ name='++tags-manager++')
-@implementer(ITagsInfo)
+@factory_config(ITagsInfo)
class TagsInfo(Persistent, Contained):
"""Tags info persistent class"""
@@ -62,7 +63,8 @@
@adapter_config(context=ITagsTarget, provides=ITagsInfo)
def tags_info_factory(target):
"""Tags info factory"""
- return get_annotation_adapter(target, TAGS_INFO_KEY, TagsInfo, name='++tags++')
+ return get_annotation_adapter(target, TAGS_INFO_KEY, ITagsInfo,
+ name='++tags++')
@adapter_config(name='tags', context=ITagsTarget, provides=IContentChecker)
@@ -86,7 +88,7 @@
# Themes management
#
-@implementer(IThemesManager)
+@factory_config(IThemesManager)
class ThemesManager(Persistent, Contained):
"""Themes manager persistent class"""
@@ -97,10 +99,11 @@
@adapter_config(context=IThemesManagerTarget, provides=IThemesManager)
def themes_manager_factory(target):
"""Themes manager factory"""
- return get_annotation_adapter(target, THEMES_MANAGER_KEY, ThemesManager, name='++themes-manager++')
+ return get_annotation_adapter(target, THEMES_MANAGER_KEY, IThemesManager,
+ name='++themes-manager++')
-@implementer(IThemesInfo)
+@factory_config(IThemesInfo)
class ThemesInfo(Persistent, Contained):
"""Themes info persistent class"""
@@ -110,7 +113,8 @@
@adapter_config(context=IThemesTarget, provides=IThemesInfo)
def themes_info_factory(target):
"""Themes info factory"""
- return get_annotation_adapter(target, THEMES_INFO_KEY, ThemesInfo, name='++themes++')
+ return get_annotation_adapter(target, THEMES_INFO_KEY, IThemesInfo,
+ name='++themes++')
@adapter_config(name='themes', context=IThemesTarget, provides=IContentChecker)
@@ -134,7 +138,7 @@
# Collections management
#
-@implementer(ICollectionsManager)
+@factory_config(ICollectionsManager)
class CollectionsManager(Persistent, Contained):
"""Collections manager persistent class"""
@@ -145,10 +149,11 @@
@adapter_config(context=ICollectionsManagerTarget, provides=ICollectionsManager)
def collections_manager_factory(target):
"""Collections manager factory"""
- return get_annotation_adapter(target, COLLECTIONS_MANAGER_KEY, CollectionsManager, name='++collections-manager++')
+ return get_annotation_adapter(target, COLLECTIONS_MANAGER_KEY, ICollectionsManager,
+ name='++collections-manager++')
-@implementer(ICollectionsInfo)
+@factory_config(ICollectionsInfo)
class CollectionsInfo(Persistent, Contained):
"""Collections info persistent class"""
@@ -158,7 +163,8 @@
@adapter_config(context=ICollectionsTarget, provides=ICollectionsInfo)
def collections_info_factory(target):
"""Collections info factory"""
- return get_annotation_adapter(target, COLLECTIONS_INFO_KEY, CollectionsInfo, name='++collections++')
+ return get_annotation_adapter(target, COLLECTIONS_INFO_KEY, ICollectionsInfo,
+ name='++collections++')
@adapter_config(name='collections', context=ICollectionsTarget, provides=IContentChecker)