From 9914227caa4f25b7442ea82cd6feab68821bb011 Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Sat, 8 Feb 2003 03:18:58 +0000 Subject: Fix compatibility for earlier versions of Python (than 2.3), which doesn't have UserDict.DictMixin. --- Lib/bsddb/dbobj.py | 7 ++++++- Lib/bsddb/dbshelve.py | 13 +++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/Lib/bsddb/dbobj.py b/Lib/bsddb/dbobj.py index f274d56..889e554 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 34dc607..efaa003 100644 --- a/Lib/bsddb/dbshelve.py +++ b/Lib/bsddb/dbshelve.py @@ -30,7 +30,11 @@ storage. #------------------------------------------------------------------------ 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 @@ class DBShelf(DictMixin): 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) -- cgit v0.12