mirror of
https://github.com/python/cpython.git
synced 2024-11-27 11:55:13 +08:00
4acc25bd39
1. Comments at the beginning of the module, before functions, and before classes have been turned into docstrings. 2. Tabs are normalized to four spaces. Also, removed the "remove" function from dircmp.py, which reimplements list.remove() (it must have been very old).
22 lines
505 B
Python
22 lines
505 B
Python
"""Helper to provide extensibility for pickle/cPickle."""
|
|
|
|
dispatch_table = {}
|
|
safe_constructors = {}
|
|
|
|
def pickle(ob_type, pickle_function, constructor_ob = None):
|
|
dispatch_table[ob_type] = pickle_function
|
|
|
|
if constructor_ob is not None:
|
|
constructor(constructor_ob)
|
|
|
|
def constructor(object):
|
|
safe_constructors[object] = 1
|
|
|
|
# Example: provide pickling support for complex numbers.
|
|
|
|
def pickle_complex(c):
|
|
return complex, (c.real, c.imag)
|
|
|
|
pickle(type(1j), pickle_complex, complex)
|
|
|