Author: jmorliaguet Date: Sun Jun 18 18:17:20 2006 New Revision: 3452 Modified: cpsskins/branches/paris-sprint-2006/storage/storage.py
Log: - fix: we must still locate objects added in container other traversal will fail - made storages persistent too. Modified: cpsskins/branches/paris-sprint-2006/storage/storage.py ============================================================================== --- cpsskins/branches/paris-sprint-2006/storage/storage.py (original) +++ cpsskins/branches/paris-sprint-2006/storage/storage.py Sun Jun 18 18:17:20 2006 @@ -18,6 +18,7 @@ __docformat__ = "reStructuredText" import re +from persistent import Persistent from BTrees.OOBTree import OOBTree from zope.app.container.sample import SampleContainer from zope.app.container.contained import Contained @@ -26,6 +27,7 @@ from zope.event import notify from zope.interface import implements from zope.lifecycleevent import ObjectCopiedEvent +from zope.location.location import locate from zope.traversing.api import getName from cpsskins.elements.interfaces import IElement @@ -33,7 +35,7 @@ from cpsskins.storage.interfaces import IStorage from cpsskins.utils import cloneObject -class Storage(SampleContainer, Contained): +class Storage(SampleContainer, Contained, Persistent): """A base storage class. >>> from zope.interface.verify import verifyClass @@ -55,6 +57,7 @@ chooser = INameChooser(self) name = chooser.chooseName(name, object) self[name] = object + locate(object=object, parent=self, name=name) notify(ObjectAddedEvent(object)) return self[name] @@ -86,6 +89,7 @@ name = old_name name = INameChooser(self).chooseName(name, copy) self[name] = copy + locate(object=copy, parent=self, name=name) notify(ObjectAddedEvent(copy)) return self[name] -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins