PageRenderTime 303ms CodeModel.GetById 161ms app.highlight 2ms RepoModel.GetById 139ms app.codeStats 0ms

/Doc/library/copy_reg.rst

http://unladen-swallow.googlecode.com/
ReStructuredText | 45 lines | 32 code | 13 blank | 0 comment | 0 complexity | 281c56b62f059d2729eb45dd8f7fde9f MD5 | raw file
 1:mod:`copy_reg` --- Register :mod:`pickle` support functions
 2============================================================
 3
 4.. module:: copy_reg
 5   :synopsis: Register pickle support functions.
 6
 7.. note::
 8   The :mod:`copy_reg` module has been renamed to :mod:`copyreg` in Python 3.0.
 9   The :term:`2to3` tool will automatically adapt imports when converting your
10   sources to 3.0.
11
12.. index::
13   module: pickle
14   module: cPickle
15   module: copy
16
17The :mod:`copy_reg` module provides support for the :mod:`pickle` and
18:mod:`cPickle` modules.  The :mod:`copy` module is likely to use this in the
19future as well.  It provides configuration information about object constructors
20which are not classes.  Such constructors may be factory functions or class
21instances.
22
23
24.. function:: constructor(object)
25
26   Declares *object* to be a valid constructor.  If *object* is not callable (and
27   hence not valid as a constructor), raises :exc:`TypeError`.
28
29
30.. function:: pickle(type, function[, constructor])
31
32   Declares that *function* should be used as a "reduction" function for objects of
33   type *type*; *type* must not be a "classic" class object.  (Classic classes are
34   handled differently; see the documentation for the :mod:`pickle` module for
35   details.)  *function* should return either a string or a tuple containing two or
36   three elements.
37
38   The optional *constructor* parameter, if provided, is a callable object which
39   can be used to reconstruct the object when called with the tuple of arguments
40   returned by *function* at pickling time.  :exc:`TypeError` will be raised if
41   *object* is a class or *constructor* is not callable.
42
43   See the :mod:`pickle` module for more details on the interface expected of
44   *function* and *constructor*.
45