mirror of
https://github.com/AdaCore/cpython.git
synced 2026-02-12 12:57:15 -08:00
Merged revisions 67940 via svnmerge from
svn+ssh://svn.python.org/python/branches/py3k ........ r67940 | alexandre.vassalotti | 2008-12-27 10:30:39 +0100 (Sat, 27 Dec 2008) | 4 lines Fix issue #4374: Pickle tests fail w/o _pickle extension. Add an initialization check to mimic the interface of _pickle. ........
This commit is contained in:
@@ -222,6 +222,11 @@ class _Pickler:
|
||||
|
||||
def dump(self, obj):
|
||||
"""Write a pickled representation of obj to the open file."""
|
||||
# Check whether Pickler was initialized correctly. This is
|
||||
# only needed to mimic the behavior of _pickle.Pickler.dump().
|
||||
if not hasattr(self, "write"):
|
||||
raise PicklingError("Pickler.__init__() was not called by "
|
||||
"%s.__init__()" % (self.__class__.__name__,))
|
||||
if self.proto >= 2:
|
||||
self.write(PROTO + bytes([self.proto]))
|
||||
self.save(obj)
|
||||
@@ -789,6 +794,11 @@ class _Unpickler:
|
||||
|
||||
Return the reconstituted object hierarchy specified in the file.
|
||||
"""
|
||||
# Check whether Unpickler was initialized correctly. This is
|
||||
# only needed to mimic the behavior of _pickle.Unpickler.dump().
|
||||
if not hasattr(self, "read"):
|
||||
raise UnpicklingError("Unpickler.__init__() was not called by "
|
||||
"%s.__init__()" % (self.__class__.__name__,))
|
||||
self.mark = object() # any new unique object
|
||||
self.stack = []
|
||||
self.append = self.stack.append
|
||||
|
||||
Reference in New Issue
Block a user