Persistent Collections¶
The persistent
package provides two simple collections that are
persistent and keep track of when they are mutated in place.
-
class
persistent.mapping.
PersistentMapping
(**kwargs)[source]¶ Bases:
UserDict.IterableUserDict
,persistent.Persistent
A persistent wrapper for mapping objects.
This class allows wrapping of mapping objects so that object changes are registered. As a side effect, mapping objects may be subclassed.
A subclass of PersistentMapping or any code that adds new attributes should not create an attribute named _container. This is reserved for backwards compatibility reasons.
-
clear
()[source]¶ Remove all data from this dictionary.
Changed in version 4.5.2: If there was nothing to remove, this object is no longer marked as modified.
-
-
class
persistent.list.
PersistentList
(initlist=None)[source]¶ Bases:
UserList.UserList
,persistent.Persistent
A persistent wrapper for list objects.
Mutating instances of this class will cause them to be marked as changed and automatically persisted.
Changed in version 4.5.2: Using the clear method, or deleting a slice (e.g.,
del inst[:]
ordel inst[x:x]
) now only results in marking the instance as changed if it actually removed items.Changed in version 4.5.2: The copy method is available on Python 2.
-
clear
()[source]¶ Remove all items from the list.
Changed in version 4.5.2: Now marks the list as changed, and is available on both Python 2 and Python 3.
-
pop
([index]) → item -- remove and return item at index (default last).[source]¶ Raise IndexError if list is empty or index is out of range.
-