]> granicus.if.org Git - python/commitdiff
pickle: Comment repair.
authorTim Peters <tim.peters@gmail.com>
Wed, 29 Jan 2003 00:56:17 +0000 (00:56 +0000)
committerTim Peters <tim.peters@gmail.com>
Wed, 29 Jan 2003 00:56:17 +0000 (00:56 +0000)
pickletools:  Import decode_long from pickle instead of duplicating it.

Lib/pickle.py
Lib/pickletools.py

index b9bafce964ba8024ccdd7c1f2c0fe6435d0418fd..863702dc9f1c884f8cd573c540a877e0ca0d1bad 100644 (file)
@@ -37,7 +37,7 @@ import warnings
 __all__ = ["PickleError", "PicklingError", "UnpicklingError", "Pickler",
            "Unpickler", "dump", "dumps", "load", "loads"]
 
-# These are purely informational; no code usues these
+# These are purely informational; no code uses these.
 format_version = "2.0"                  # File format version we write
 compatible_formats = ["1.0",            # Original protocol 0
                       "1.1",            # Protocol 0 with INST added
@@ -47,7 +47,7 @@ compatible_formats = ["1.0",            # Original protocol 0
                       ]                 # Old format versions we can read
 
 # Why use struct.pack() for pickling but marshal.loads() for
-# unpickling?  struct.pack() is 40% faster than marshal.loads(), but
+# unpickling?  struct.pack() is 40% faster than marshal.dumps(), but
 # marshal.loads() is twice as fast as struct.unpack()!
 mloads = marshal.loads
 
@@ -73,6 +73,8 @@ class UnpicklingError(PickleError):
     """
     pass
 
+# An instance of _Stop is raised by Unpickler.load_stop() in response to
+# the STOP opcode, passing the object that is the result of unpickling.
 class _Stop(Exception):
     def __init__(self, value):
         self.value = value
@@ -138,7 +140,7 @@ BINFLOAT        = 'G'   # push float; arg is 8-byte float encoding
 TRUE            = 'I01\n'  # not an opcode; see INT docs in pickletools.py
 FALSE           = 'I00\n'  # not an opcode; see INT docs in pickletools.py
 
-# Protocol 2 (not yet implemented).
+# Protocol 2 (XXX not yet implemented).
 
 PROTO           = '\x80'  # identify pickle protocol
 NEWOBJ          = '\x81'  # build object by applying cls.__new__ to argtuple
@@ -772,6 +774,9 @@ def _keep_alive(x, memo):
         memo[id(memo)]=[x]
 
 
+# A cache for whichmodule(), mapping a function object to the name of
+# the module in which the function was found.
+
 classmap = {} # called classmap for backwards compatibility
 
 def whichmodule(func, funcname):
@@ -780,7 +785,7 @@ def whichmodule(func, funcname):
     Search sys.modules for the module.
     Cache in classmap.
     Return a module name.
-    If the function cannot be found, return __main__.
+    If the function cannot be found, return "__main__".
     """
     if func in classmap:
         return classmap[func]
index b3c708d1d052ce770b907636a97d462c76142075..183db1022b35da9ca51d6ed31957ded295f5d0e6 100644 (file)
@@ -603,29 +603,7 @@ float8 = ArgumentDescriptor(
 
 # Protocol 2 formats
 
-def decode_long(data):
-    r"""Decode a long from a two's complement little-endian binary string.
-    >>> decode_long("\xff\x00")
-    255L
-    >>> decode_long("\xff\x7f")
-    32767L
-    >>> decode_long("\x00\xff")
-    -256L
-    >>> decode_long("\x00\x80")
-    -32768L
-    >>> decode_long("\x80")
-    -128L
-    >>> decode_long("\x7f")
-    127L
-    """
-    x = 0L
-    i = 0L
-    for c in data:
-        x |= long(ord(c)) << i
-        i += 8L
-    if data and ord(c) >= 0x80:
-        x -= 1L << i
-    return x
+from pickle import decode_long
 
 def read_long1(f):
     r"""
@@ -1793,6 +1771,7 @@ def assure_pickle_consistency(verbose=False):
         raise ValueError("\n".join(msg))
 
 assure_pickle_consistency()
+del assure_pickle_consistency
 
 ##############################################################################
 # A pickle opcode generator.