A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-checkins/2000-October/014200.html below:

[Python-checkins] CVS: python/dist/src/Lib copy_reg.py,1.3,1.4

[Python-checkins] CVS: python/dist/src/Lib copy_reg.py,1.3,1.4Fred L. Drake python-dev@python.org
Wed, 11 Oct 2000 15:16:49 -0700
Update of /cvsroot/python/python/dist/src/Lib
In directory slayer.i.sourceforge.net:/tmp/cvs-serv15338

Modified Files:
	copy_reg.py 
Log Message:

In the module docstring, clarify that this is used to register pickle
support for extension types, not classes.

pickle():  If the type is a class or if the reduction function is not
           callable, raise a TypeError.

constructor():  If the constructor is not callable, raise TypeError.

This (partially) closes SourceForge patch #101859.


Index: copy_reg.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/copy_reg.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** copy_reg.py	2000/02/02 15:10:13	1.3
--- copy_reg.py	2000/10/11 22:16:45	1.4
***************
*** 1,8 ****
! """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
  
--- 1,19 ----
! """Helper to provide extensibility for pickle/cPickle.
  
+ This is only useful to add pickle support for extension types defined in
+ C, not for instances of user-defined classes.
+ """
+ 
+ from types import ClassType as _ClassType
+ 
  dispatch_table = {}
  safe_constructors = {}
  
! def pickle(ob_type, pickle_function, constructor_ob=None):
!     if type(ob_type) is _ClassType:
!         raise TypeError("copy_reg is not intended for use with classes")
! 
!     if not callable(pickle_function):
!         raise TypeError("reduction functions must be callable")
      dispatch_table[ob_type] = pickle_function
  
***************
*** 11,14 ****
--- 22,27 ----
  
  def constructor(object):
+     if not callable(object):
+         raise TypeError("constructors must be callable")
      safe_constructors[object] = 1
  
***************
*** 19,21 ****
  
  pickle(type(1j), pickle_complex, complex)
- 
--- 32,33 ----




RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4