From: Jeremy Hylton Date: Fri, 27 Jun 2003 16:58:43 +0000 (+0000) Subject: Revert previous checkin and just add a comment about constructor_ob. X-Git-Tag: v2.3c1~312 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f8ecde5de00ad4b11cd1f80aae0f0bd5b99fc66c;p=python Revert previous checkin and just add a comment about constructor_ob. There's no point to passing it anymore, but there's a test that expects the call to fail if you pass a non-callable object. --- diff --git a/Lib/copy_reg.py b/Lib/copy_reg.py index 97bef4100f..f4990130fb 100644 --- a/Lib/copy_reg.py +++ b/Lib/copy_reg.py @@ -12,7 +12,6 @@ __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") @@ -20,9 +19,12 @@ def pickle(ob_type, pickle_function, constructor_ob=None): raise TypeError("reduction functions must be callable") dispatch_table[ob_type] = pickle_function + # The constructor_ob function is a vestige of safe for unpickling. + # There is no reason for the caller to pass it anymore. + 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")