Staging
v0.8.1
Revision 36d4f8b0ecc33a6ce09783bd39dea9a8b4c191a5 authored by Guido van Rossum on 10 April 2000, 21:34:37 UTC, committed by Guido van Rossum on 10 April 2000, 21:34:37 UTC
1 parent e110dcf
Raw File
copy_reg.py
"""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)

back to top