mirror of
https://github.com/python/cpython
synced 2024-10-08 20:10:00 +00:00
SF patch #674396: Apply UserDict.DictMixin to expand dbshelve and dbojb
to have a full dictionary interface.
This commit is contained in:
parent
35ad641b99
commit
30a634e0a9
|
@ -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)
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Reference in a new issue