mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 11:49:12 +00:00 
			
		
		
		
	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).
		
	
			
		
			
				
	
	
		
			21 lines
		
	
	
	
		
			505 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			21 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)
 | 
						|
 |