Kaydet (Commit) 75678228 authored tarafından Jeremy Hylton's avatar Jeremy Hylton

Don't call constructor() from pickle().

The constructor() call only made sense when it registered the
constructor as safe for unpickling.  We should probably remove the
module-global function, but need to worry about backwards
compatibility.
üst d0cda1dc
......@@ -12,6 +12,7 @@ __all__ = ["pickle", "constructor",
dispatch_table = {}
def pickle(ob_type, pickle_function, constructor_ob=None):
# constructor_ob exists only for backwards compatibility.
if type(ob_type) is _ClassType:
raise TypeError("copy_reg is not intended for use with classes")
......@@ -19,10 +20,9 @@ def pickle(ob_type, pickle_function, constructor_ob=None):
raise TypeError("reduction functions must be callable")
dispatch_table[ob_type] = pickle_function
if constructor_ob is not None:
constructor(constructor_ob)
def constructor(object):
# XXX This function should be deprecated. It is a vestige of
# the old __safe_for_unpickling__ code.
if not callable(object):
raise TypeError("constructors must be callable")
......
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