# HG changeset patch # User tflorac@dagon.home # Date 1529245740 -7200 # Node ID fbdccca7bad57027204df175e19665848df545a9 # Parent e6fb4dbdda28e4288cb695ccd1c96bc0bbac9092 Use objects factory to create configuration objects diff -r e6fb4dbdda28 -r fbdccca7bad5 src/pyams_skin/configuration.py --- a/src/pyams_skin/configuration.py Sun Jun 17 16:10:19 2018 +0200 +++ b/src/pyams_skin/configuration.py Sun Jun 17 16:29:00 2018 +0200 @@ -19,7 +19,7 @@ from pyams_skin.interfaces import IContextTitlePrefix from pyams_skin.interfaces.configuration import IConfiguration, SKIN_CONFIGURATION_KEY, \ IBackOfficeConfiguration, SKIN_BACK_CONFIGURATION_KEY -from pyams_utils.interfaces.site import IConfigurationManager, IConfigurationFactory, IBackOfficeConfigurationFactory +from pyams_utils.interfaces.site import IConfigurationManager from pyams_utils.interfaces.tales import ITALESExtension from zope.traversing.interfaces import ITraversable @@ -28,6 +28,7 @@ from pyams_file.property import FileProperty from pyams_file.views.file import FileView from pyams_utils.adapter import ContextRequestViewAdapter, ContextAdapter, adapter_config, get_annotation_adapter +from pyams_utils.factory import factory_config from pyams_utils.registry import get_global_registry from pyams_utils.traversing import get_parent from pyramid.httpexceptions import HTTPNotFound @@ -43,6 +44,7 @@ # @implementer(IConfiguration) +@factory_config(provided=IConfiguration) class Configuration(Persistent, Contained): """Manageable configuration""" @@ -63,12 +65,7 @@ @adapter_config(context=IConfigurationManager, provides=IConfiguration) def configuration_factory(context): """Configuration factory""" - - def get_configuration_factory(): - registry = get_global_registry() - return registry.queryAdapter(context, IConfigurationFactory, default=Configuration) - - return get_annotation_adapter(context, SKIN_CONFIGURATION_KEY, factory=lambda: get_configuration_factory(), + return get_annotation_adapter(context, SKIN_CONFIGURATION_KEY, factory=IConfiguration, name='++configuration++') @@ -108,6 +105,7 @@ # @implementer(IBackOfficeConfiguration) +@factory_config(provided=IBackOfficeConfiguration) class BackOfficeConfiguration(Persistent, Contained): """Back-office manageable configuration""" @@ -130,12 +128,7 @@ @adapter_config(context=IConfigurationManager, provides=IBackOfficeConfiguration) def back_office_configuration_factory(context): """Back-office configuration factory""" - - def get_configuration_factory(): - registry = get_global_registry() - return registry.queryAdapter(context, IBackOfficeConfigurationFactory, default=BackOfficeConfiguration) - - return get_annotation_adapter(context, SKIN_BACK_CONFIGURATION_KEY, factory=lambda: get_configuration_factory(), + return get_annotation_adapter(context, SKIN_BACK_CONFIGURATION_KEY, factory=IBackOfficeConfiguration, name='++back-configuration++')