summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2003-02-05 04:12:41 (GMT)
committerRaymond Hettinger <python@rcn.com>2003-02-05 04:12:41 (GMT)
commit30a634e0a983f470e3663f93e182faed2128bbd9 (patch)
treeaec92acb2bb5d051bb38a187f36ce2b195c0b094
parent35ad641b9931691d2b0371ee3a6fb57b59256dbd (diff)
downloadcpython-30a634e0a983f470e3663f93e182faed2128bbd9.zip
cpython-30a634e0a983f470e3663f93e182faed2128bbd9.tar.gz
cpython-30a634e0a983f470e3663f93e182faed2128bbd9.tar.bz2
SF patch #674396: Apply UserDict.DictMixin to expand dbshelve and dbojb
to have a full dictionary interface.
-rw-r--r--Lib/bsddb/dbobj.py3
-rw-r--r--Lib/bsddb/dbshelve.py3
2 files changed, 4 insertions, 2 deletions
diff --git a/Lib/bsddb/dbobj.py b/Lib/bsddb/dbobj.py
index 9268f55..f274d56 100644
--- a/Lib/bsddb/dbobj.py
+++ b/Lib/bsddb/dbobj.py
@@ -16,6 +16,7 @@
#
import db
+from UserDict import DictMixin
class DBEnv:
def __init__(self, *args, **kwargs):
@@ -85,7 +86,7 @@ class DBEnv:
return apply(self._cobj.set_encrypt, args, kwargs)
-class DB:
+class DB(DictMixin):
def __init__(self, dbenv, *args, **kwargs):
# give it the proper DBEnv C object that its expecting
self._cobj = apply(db.DB, (dbenv._cobj,) + args, kwargs)
diff --git a/Lib/bsddb/dbshelve.py b/Lib/bsddb/dbshelve.py
index d466361..34dc607 100644
--- a/Lib/bsddb/dbshelve.py
+++ b/Lib/bsddb/dbshelve.py
@@ -30,6 +30,7 @@ storage.
#------------------------------------------------------------------------
import cPickle
+from UserDict import DictMixin
try:
# For Python 2.3
from bsddb import db
@@ -75,7 +76,7 @@ def open(filename, flags=db.DB_CREATE, mode=0660, filetype=db.DB_HASH,
#---------------------------------------------------------------------------
-class DBShelf:
+class DBShelf(DictMixin):
"""
A shelf to hold pickled objects, built upon a bsddb DB object. It
automatically pickles/unpickles data objects going to/from the DB.