[Checkins]
SVN: lovely.mount/trunk/src/lovely/mount/container.py hm,
we have to reset parent upon getting,
something is wrong with the cross databse references
Bernd Dorn
bernd.dorn at lovelysystems.com
Wed Jan 31 10:02:20 EST 2007
Log message for revision 72277:
hm, we have to reset parent upon getting, something is wrong with the cross databse references
Changed:
U lovely.mount/trunk/src/lovely/mount/container.py
-=-
Modified: lovely.mount/trunk/src/lovely/mount/container.py
===================================================================
--- lovely.mount/trunk/src/lovely/mount/container.py 2007-01-31 14:02:49 UTC (rev 72276)
+++ lovely.mount/trunk/src/lovely/mount/container.py 2007-01-31 15:02:20 UTC (rev 72277)
@@ -3,6 +3,7 @@
from zope import interface
import interfaces
from zope.schema.fieldproperty import FieldProperty
+from zope.app.container.interfaces import IContained
class MountpointContainer(root.DBRoot, Contained):
@@ -10,6 +11,29 @@
dbName = FieldProperty(interfaces.IMountpointContainer['dbName'])
+ def get(self, key, default=None):
+ '''See interface `IReadContainer`'''
+ try:
+ self.__getitem__(key)
+ except KeyError:
+ return default
+
+ def items(self):
+ '''See interface `IReadContainer`'''
+ return [(k,self.__getitem__(k)) for k in self.keys()]
+
+ def values(self):
+ '''See interface `IReadContainer`'''
+ return [self.__getitem__(k) for k in self.keys()]
+
+ def __getitem__(self, key):
+ #XXX why do we have to do this?
+ # cross references should work
+ item = self._data.__getitem__(key)
+ if hasattr(item, '__parent__'):
+ item.__parent__ = self
+ return item
+
def __setitem__(self, key, object):
'''See interface `IWriteContainer`'''
setitem(self, self._data.__setitem__, key, object)
More information about the Checkins
mailing list