Rename _better_reduce to _reduce_2, to make sure that any code that

was still referencing it will fail.  Also removed some debug cruft
from _reduce_ex.
This commit is contained in:
Guido van Rossum 2003-02-19 01:58:53 +00:00
parent b289b87a37
commit f805cd2c1f
1 changed files with 5 additions and 10 deletions

View File

@ -80,7 +80,7 @@ def _reduce(self):
def __newobj__(cls, *args): def __newobj__(cls, *args):
return cls.__new__(cls, *args) return cls.__new__(cls, *args)
def _better_reduce(obj): def _reduce_2(obj):
cls = obj.__class__ cls = obj.__class__
getnewargs = getattr(obj, "__getnewargs__", None) getnewargs = getattr(obj, "__getnewargs__", None)
if getnewargs: if getnewargs:
@ -113,17 +113,12 @@ def _better_reduce(obj):
def _reduce_ex(obj, proto=0): def _reduce_ex(obj, proto=0):
obj_reduce = getattr(obj, "__reduce__", None) obj_reduce = getattr(obj, "__reduce__", None)
# XXX This fails in test_copy.py line 61 if obj_reduce and obj.__class__.__reduce__ is not object.__reduce__:
if obj_reduce: return obj_reduce()
try: elif proto < 2:
if obj.__class__.__reduce__ is not object.__reduce__:
return obj_reduce()
except AttributeError:
pass
if proto < 2:
return _reduce(obj) return _reduce(obj)
else: else:
return _better_reduce(obj) return _reduce_2(obj)
def _slotnames(cls): def _slotnames(cls):
"""Return a list of slot names for a given class. """Return a list of slot names for a given class.