10 # FOR A PARTICULAR PURPOSE. |
10 # FOR A PARTICULAR PURPOSE. |
11 # |
11 # |
12 |
12 |
13 __docformat__ = 'restructuredtext' |
13 __docformat__ = 'restructuredtext' |
14 |
14 |
15 |
|
16 # import standard library |
|
17 |
|
18 # import interfaces |
|
19 from pyams_gis.interfaces.configuration import IMapConfiguration, IMapConfigurationTarget |
|
20 |
|
21 # import packages |
|
22 from persistent import Persistent |
15 from persistent import Persistent |
23 from pyams_utils.adapter import adapter_config, get_annotation_adapter |
|
24 from zope.container.contained import Contained |
16 from zope.container.contained import Contained |
25 from zope.interface import implementer |
|
26 from zope.schema.fieldproperty import FieldProperty |
17 from zope.schema.fieldproperty import FieldProperty |
27 |
18 |
|
19 from pyams_gis.interfaces.configuration import IMapConfiguration, IMapConfigurationTarget |
|
20 from pyams_utils.adapter import adapter_config, get_annotation_adapter |
|
21 from pyams_utils.factory import factory_config |
28 |
22 |
29 @implementer(IMapConfiguration) |
23 |
|
24 @factory_config(IMapConfiguration) |
30 class MapConfiguration(Persistent, Contained): |
25 class MapConfiguration(Persistent, Contained): |
31 """Map configuration persistent class""" |
26 """Map configuration persistent class""" |
32 |
27 |
33 crs = FieldProperty(IMapConfiguration['crs']) |
28 crs = FieldProperty(IMapConfiguration['crs']) |
34 layers = FieldProperty(IMapConfiguration['layers']) |
29 layers = FieldProperty(IMapConfiguration['layers']) |
80 |
75 |
81 |
76 |
82 @adapter_config(context=IMapConfigurationTarget, provides=IMapConfiguration) |
77 @adapter_config(context=IMapConfigurationTarget, provides=IMapConfiguration) |
83 def map_configuration_factory(context): |
78 def map_configuration_factory(context): |
84 """Map configuration factory""" |
79 """Map configuration factory""" |
85 return get_annotation_adapter(context, MAP_CONFIGURATION_KEY, MapConfiguration) |
80 return get_annotation_adapter(context, MAP_CONFIGURATION_KEY, IMapConfiguration) |