]> granicus.if.org Git - python/commitdiff
Removed the deprecated bin parameter from the pickle module.
authorRaymond Hettinger <python@rcn.com>
Sun, 5 Dec 2004 05:20:42 +0000 (05:20 +0000)
committerRaymond Hettinger <python@rcn.com>
Sun, 5 Dec 2004 05:20:42 +0000 (05:20 +0000)
Doc/lib/libpickle.tex
Lib/pickle.py
Misc/NEWS

index 4de445a3fec964afde64f9b25df43fdbe3481c34..067f468809c4775e81538ebcaeb45a654387b2c1 100644 (file)
@@ -144,14 +144,10 @@ If \var{protocol} is specified as a negative value
 or \constant{HIGHEST_PROTOCOL},
 the highest protocol version available will be used.
 
-\versionchanged[The \var{bin} parameter is deprecated and only provided
-for backwards compatibility.  You should use the \var{protocol}
-parameter instead]{2.3}
+\versionchanged[Introduced the \var{protocol} parameter]{2.3}
 
 A binary format, which is slightly more efficient, can be chosen by
-specifying a true value for the \var{bin} argument to the
-\class{Pickler} constructor or the \function{dump()} and \function{dumps()}
-functions.  A \var{protocol} version >= 1 implies use of a binary format.
+specifying a \var{protocol} version >= 1.
 
 \subsection{Usage}
 
@@ -170,24 +166,17 @@ as a \var{protocol} value.
 The \module{pickle} module provides the
 following functions to make this process more convenient:
 
-\begin{funcdesc}{dump}{obj, file\optional{, protocol\optional{, bin}}}
+\begin{funcdesc}{dump}{obj, file\optional{, protocol}}
 Write a pickled representation of \var{obj} to the open file object
 \var{file}.  This is equivalent to
-\code{Pickler(\var{file}, \var{protocol}, \var{bin}).dump(\var{obj})}.
+\code{Pickler(\var{file}, \var{protocol}).dump(\var{obj})}.
 
 If the \var{protocol} parameter is omitted, protocol 0 is used.
 If \var{protocol} is specified as a negative value
 or \constant{HIGHEST_PROTOCOL},
 the highest protocol version will be used.
 
-\versionchanged[The \var{protocol} parameter was added.
-The \var{bin} parameter is deprecated and only provided
-for backwards compatibility.  You should use the \var{protocol}
-parameter instead]{2.3}
-
-If the optional \var{bin} argument is true, the binary pickle format
-is used; otherwise the (less efficient) text pickle format is used
-(for backwards compatibility, this is the default).
+\versionchanged[Introduced the \var{protocol} parameter]{2.3}
 
 \var{file} must have a \method{write()} method that accepts a single
 string argument.  It can thus be a file object opened for writing, a
@@ -211,7 +200,7 @@ This function automatically determines whether the data stream was
 written in binary mode or not.
 \end{funcdesc}
 
-\begin{funcdesc}{dumps}{obj\optional{, protocol\optional{, bin}}}
+\begin{funcdesc}{dumps}{obj\optional{, protocol}}
 Return the pickled representation of the object as a string, instead
 of writing it to a file.
 
@@ -220,14 +209,8 @@ If \var{protocol} is specified as a negative value
 or \constant{HIGHEST_PROTOCOL},
 the highest protocol version will be used.
 
-\versionchanged[The \var{protocol} parameter was added.
-The \var{bin} parameter is deprecated and only provided
-for backwards compatibility.  You should use the \var{protocol}
-parameter instead]{2.3}
+\versionchanged[The \var{protocol} parameter was added]{2.3}
 
-If the optional \var{bin} argument is
-true, the binary pickle format is used; otherwise the (less efficient)
-text pickle format is used (this is the default).
 \end{funcdesc}
 
 \begin{funcdesc}{loads}{string}
@@ -262,7 +245,7 @@ subclassed.  One common reason to subclass is to control what
 objects can actually be unpickled.  See section~\ref{pickle-sub} for
 more details.}, \class{Pickler} and \class{Unpickler}:
 
-\begin{classdesc}{Pickler}{file\optional{, protocol\optional{, bin}}}
+\begin{classdesc}{Pickler}{file\optional{, protocol}}
 This takes a file-like object to which it will write a pickle data
 stream.  
 
@@ -270,13 +253,7 @@ If the \var{protocol} parameter is omitted, protocol 0 is used.
 If \var{protocol} is specified as a negative value,
 the highest protocol version will be used.
 
-\versionchanged[The \var{bin} parameter is deprecated and only provided
-for backwards compatibility.  You should use the \var{protocol}
-parameter instead]{2.3}
-
-Optional \var{bin} if true, tells the pickler to use the more
-efficient binary pickle format, otherwise the \ASCII{} format is used
-(this is the default).
+\versionchanged[Introduced the \var{protocol} parameter]{2.3}
 
 \var{file} must have a \method{write()} method that accepts a single
 string argument.  It can thus be an open file object, a
@@ -289,7 +266,7 @@ object that meets this interface.
 \begin{methoddesc}[Pickler]{dump}{obj}
 Write a pickled representation of \var{obj} to the open file object
 given in the constructor.  Either the binary or \ASCII{} format will
-be used, depending on the value of the \var{bin} flag passed to the
+be used, depending on the value of the \var{protocol} argument passed to the
 constructor.
 \end{methoddesc}
 
@@ -451,7 +428,7 @@ method is normally \emph{not} invoked.  If it is desirable that the
 \method{__init__()} method be called on unpickling, an old-style class
 can define a method \method{__getinitargs__()}, which should return a
 \emph{tuple} containing the arguments to be passed to the class
-constructor (i.e. \method{__init__()}).  The
+constructor (\method{__init__()} for example).  The
 \method{__getinitargs__()} method is called at
 pickle time; the tuple it returns is incorporated in the pickle for
 the instance.
index 7d6825fb0b4ada158a617b8e0d840f8dae440601..4c9188830af746c013bf7f9e2d23cf16a17e91d1 100644 (file)
@@ -171,7 +171,7 @@ del x
 
 class Pickler:
 
-    def __init__(self, file, protocol=None, bin=None):
+    def __init__(self, file, protocol=None):
         """This takes a file-like object for writing a pickle data stream.
 
         The optional protocol argument tells the pickler to use the
@@ -195,12 +195,6 @@ class Pickler:
         object, or any other custom object that meets this interface.
 
         """
-        if protocol is not None and bin is not None:
-            raise ValueError, "can't specify both 'protocol' and 'bin'"
-        if bin is not None:
-            warnings.warn("The 'bin' argument to Pickler() is deprecated",
-                          DeprecationWarning)
-            protocol = bin
         if protocol is None:
             protocol = 0
         if protocol < 0:
@@ -1378,12 +1372,12 @@ try:
 except ImportError:
     from StringIO import StringIO
 
-def dump(obj, file, protocol=None, bin=None):
-    Pickler(file, protocol, bin).dump(obj)
+def dump(obj, file, protocol=None):
+    Pickler(file, protocol).dump(obj)
 
-def dumps(obj, protocol=None, bin=None):
+def dumps(obj, protocol=None):
     file = StringIO()
-    Pickler(file, protocol, bin).dump(obj)
+    Pickler(file, protocol).dump(obj)
     return file.getvalue()
 
 def load(file):
index 4733bfb4913842dfe5a5d1b76edba25c69c80ddb..235c257dbdde4c3a6d4c096c7c475ea9b992e962 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -21,6 +21,8 @@ Extension Modules
 Library
 -------
 
+- the pickle module no longer uses the deprecated bin parameter.
+
 - the depecated statcache module was removed.
 
 - the shelve module no longer uses the deprecated binary parameter.