diff --git a/Lib/bsddb/dbobj.py b/Lib/bsddb/dbobj.py index f274d562ce8..889e5544e79 100644 --- a/Lib/bsddb/dbobj.py +++ b/Lib/bsddb/dbobj.py @@ -16,7 +16,12 @@ # import db -from UserDict import DictMixin + +try: + from UserDict import DictMixin +except ImportError: + # DictMixin is new in Python 2.3 + class DictMixin: pass class DBEnv: def __init__(self, *args, **kwargs): diff --git a/Lib/bsddb/dbshelve.py b/Lib/bsddb/dbshelve.py index 34dc607dc9f..efaa0039bc1 100644 --- a/Lib/bsddb/dbshelve.py +++ b/Lib/bsddb/dbshelve.py @@ -30,7 +30,11 @@ #------------------------------------------------------------------------ import cPickle -from UserDict import DictMixin +try: + from UserDict import DictMixin +except ImportError: + # DictMixin is new in Python 2.3 + class DictMixin: pass try: # For Python 2.3 from bsddb import db @@ -77,8 +81,7 @@ def open(filename, flags=db.DB_CREATE, mode=0660, filetype=db.DB_HASH, #--------------------------------------------------------------------------- class DBShelf(DictMixin): - """ - A shelf to hold pickled objects, built upon a bsddb DB object. It + """A shelf to hold pickled objects, built upon a bsddb DB object. It automatically pickles/unpickles data objects going to/from the DB. """ def __init__(self, dbenv=None): @@ -91,7 +94,9 @@ def __del__(self): def __getattr__(self, name): - """Many methods we can just pass through to the DB object. (See below)""" + """Many methods we can just pass through to the DB object. + (See below) + """ return getattr(self.db, name)