SF patch #674396: Apply UserDict.DictMixin to expand dbshelve and dbojb

to have a full dictionary interface.
This commit is contained in:
Raymond Hettinger 2003-02-05 04:12:41 +00:00
parent 35ad641b99
commit 30a634e0a9
2 changed files with 4 additions and 2 deletions

View file

@ -16,6 +16,7 @@
#
import db
from UserDict import DictMixin
class DBEnv:
def __init__(self, *args, **kwargs):
@ -85,7 +86,7 @@ def set_encrypt(self, *args, **kwargs):
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)

View file

@ -30,6 +30,7 @@
#------------------------------------------------------------------------
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.