# HG changeset patch # User Thierry Florac # Date 1527509057 -7200 # Node ID a36879b2a1758e0ffa6482d46f71753e5cf98f7f # Parent 3d2cdf7911a57e7f81e09c42a74fc6c3d4c080d7 Updated annotations adapters diff -r 3d2cdf7911a5 -r a36879b2a175 src/pyams_i18n/property.py --- a/src/pyams_i18n/property.py Mon May 28 11:20:28 2018 +0200 +++ b/src/pyams_i18n/property.py Mon May 28 14:04:17 2018 +0200 @@ -17,12 +17,12 @@ # import interfaces from pyams_file.interfaces import DELETED_FILE, IFile, IFileInfo, IFileFieldContainer -from zope.annotation.interfaces import IAnnotations from zope.schema.interfaces import IField # import packages from pyams_file.file import FileFactory from pyams_file.property import FILE_CONTAINER_ATTRIBUTES +from pyams_utils.adapter import get_annotation_adapter from pyramid.threadlocal import get_current_registry from z3c.form.interfaces import NOT_CHANGED from zope.interface import alsoProvides @@ -111,10 +111,8 @@ # store file attributes of instance if not IFileFieldContainer.providedBy(instance): alsoProvides(instance, IFileFieldContainer) - annotations = IAnnotations(instance) - attributes = annotations.get(FILE_CONTAINER_ATTRIBUTES) - if attributes is None: - attributes = annotations[FILE_CONTAINER_ATTRIBUTES] = set() + attributes = get_annotation_adapter(instance, FILE_CONTAINER_ATTRIBUTES, set, + notify=False, locate=False) attributes.add('{0}::{1}'.format(self.__name, lang)) registry.notify(ObjectAddedEvent(new_lang_value, instance, name)) instance.__dict__[self.__name] = old_value