From: Raymond Hettinger Date: Wed, 5 Feb 2003 04:12:41 +0000 (+0000) Subject: SF patch #674396: Apply UserDict.DictMixin to expand dbshelve and dbojb X-Git-Tag: v2.3c1~2032 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=30a634e0a983f470e3663f93e182faed2128bbd9;p=python SF patch #674396: Apply UserDict.DictMixin to expand dbshelve and dbojb to have a full dictionary interface. --- diff --git a/Lib/bsddb/dbobj.py b/Lib/bsddb/dbobj.py index 9268f5520e..f274d562ce 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 d466361eeb..34dc607dc9 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.