# HG changeset patch # User Thierry Florac # Date 1527494013 -7200 # Node ID 5d273277716bf48acbdb81c6b8110de167716d39 # Parent 56701baa79ee54487295b3bd2aa398eb78b12d43 Updated annotations adapter diff -r 56701baa79ee -r 5d273277716b src/pyams_gis/configuration.py --- a/src/pyams_gis/configuration.py Mon May 28 09:52:24 2018 +0200 +++ b/src/pyams_gis/configuration.py Mon May 28 09:53:33 2018 +0200 @@ -17,16 +17,12 @@ # import interfaces from pyams_gis.interfaces.configuration import IMapConfiguration, IMapConfigurationTarget -from zope.annotation.interfaces import IAnnotations # import packages from persistent import Persistent -from pyams_utils.adapter import adapter_config -from pyramid.threadlocal import get_current_registry +from pyams_utils.adapter import adapter_config, get_annotation_adapter from zope.container.contained import Contained from zope.interface import implementer -from zope.lifecycleevent import ObjectCreatedEvent -from zope.location import locate from zope.schema.fieldproperty import FieldProperty @@ -86,10 +82,4 @@ @adapter_config(context=IMapConfigurationTarget, provides=IMapConfiguration) def map_configuration_factory(context): """Map configuration factory""" - annotations = IAnnotations(context) - configuration = annotations.get(MAP_CONFIGURATION_KEY) - if configuration is None: - configuration = annotations[MAP_CONFIGURATION_KEY] = MapConfiguration() - get_current_registry().notify(ObjectCreatedEvent(configuration)) - locate(configuration, context) - return configuration + return get_annotation_adapter(context, MAP_CONFIGURATION_KEY, MapConfiguration)