2929
3030#------------------------------------------------------------------------
3131
32- import cPickle
32+ import pickle
3333try :
3434 from UserDict import DictMixin
3535except ImportError :
@@ -104,11 +104,11 @@ def __len__(self):
104104
105105 def __getitem__ (self , key ):
106106 data = self .db [key ]
107- return cPickle .loads (data )
107+ return pickle .loads (data )
108108
109109
110110 def __setitem__ (self , key , value ):
111- data = cPickle .dumps (value , self .binary )
111+ data = pickle .dumps (value , self .binary )
112112 self .db [key ] = data
113113
114114
@@ -131,7 +131,7 @@ def items(self, txn=None):
131131 newitems = []
132132
133133 for k , v in items :
134- newitems .append ( (k , cPickle .loads (v )) )
134+ newitems .append ( (k , pickle .loads (v )) )
135135 return newitems
136136
137137 def values (self , txn = None ):
@@ -140,13 +140,13 @@ def values(self, txn=None):
140140 else :
141141 values = self .db .values ()
142142
143- return map (cPickle .loads , values )
143+ return map (pickle .loads , values )
144144
145145 #-----------------------------------
146146 # Other methods
147147
148148 def __append (self , value , txn = None ):
149- data = cPickle .dumps (value , self .binary )
149+ data = pickle .dumps (value , self .binary )
150150 return self .db .append (data , txn )
151151
152152 def append (self , value , txn = None ):
@@ -158,7 +158,7 @@ def append(self, value, txn=None):
158158
159159 def associate (self , secondaryDB , callback , flags = 0 ):
160160 def _shelf_callback (priKey , priData , realCallback = callback ):
161- data = cPickle .loads (priData )
161+ data = pickle .loads (priData )
162162 return realCallback (priKey , data )
163163 return self .db .associate (secondaryDB , _shelf_callback , flags )
164164
@@ -171,15 +171,15 @@ def get(self, *args, **kw):
171171 # off.
172172 data = self .db .get (* args , ** kw )
173173 try :
174- return cPickle .loads (data )
175- except (TypeError , cPickle .UnpicklingError ):
174+ return pickle .loads (data )
175+ except (TypeError , pickle .UnpicklingError , EOFError ):
176176 return data # we may be getting the default value, or None,
177177 # so it doesn't need unpickled.
178178
179179 def get_both (self , key , value , txn = None , flags = 0 ):
180- data = cPickle .dumps (value , self .binary )
180+ data = pickle .dumps (value , self .binary )
181181 data = self .db .get (key , data , txn , flags )
182- return cPickle .loads (data )
182+ return pickle .loads (data )
183183
184184
185185 def cursor (self , txn = None , flags = 0 ):
@@ -189,7 +189,7 @@ def cursor(self, txn=None, flags=0):
189189
190190
191191 def put (self , key , value , txn = None , flags = 0 ):
192- data = cPickle .dumps (value , self .binary )
192+ data = pickle .dumps (value , self .binary )
193193 return self .db .put (key , data , txn , flags )
194194
195195
@@ -233,7 +233,7 @@ def dup(self, flags=0):
233233
234234
235235 def put (self , key , value , flags = 0 ):
236- data = cPickle .dumps (value , self .binary )
236+ data = pickle .dumps (value , self .binary )
237237 return self .dbc .put (key , data , flags )
238238
239239
@@ -251,7 +251,7 @@ def get_2(self, key, flags):
251251 return self ._extract (rec )
252252
253253 def get_3 (self , key , value , flags ):
254- data = cPickle .dumps (value , self .binary )
254+ data = pickle .dumps (value , self .binary )
255255 rec = self .dbc .get (key , flags )
256256 return self ._extract (rec )
257257
@@ -268,7 +268,7 @@ def prev_nodup(self, flags=0): return self.get_1(flags|db.DB_PREV_NODUP)
268268
269269
270270 def get_both (self , key , value , flags = 0 ):
271- data = cPickle .dumps (value , self .binary )
271+ data = pickle .dumps (value , self .binary )
272272 rec = self .dbc .get_both (key , flags )
273273 return self ._extract (rec )
274274
@@ -292,7 +292,7 @@ def _extract(self, rec):
292292 return None
293293 else :
294294 key , data = rec
295- return key , cPickle .loads (data )
295+ return key , pickle .loads (data )
296296
297297 #----------------------------------------------
298298 # Methods allowed to pass-through to self.dbc
0 commit comments