Commit bfac8e56 authored by Barry Warsaw's avatar Barry Warsaw

Fix compatibility for earlier versions of Python (than 2.3), which

doesn't have UserDict.DictMixin.
parent c9b347ce
......@@ -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):
......
......@@ -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)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment