[Python-checkins] r81947 - in python/branches/py3k: Lib/struct.py Misc/NEWS Modules/_struct.c

mark.dickinson python-checkins at python.org
Sat Jun 12 17:17:02 CEST 2010


Author: mark.dickinson
Date: Sat Jun 12 17:17:02 2010
New Revision: 81947

Log:
Issue #8973:  Add __all__ to struct module, so that help(struct) correctly
displays information for the struct.Struct class.


Modified:
   python/branches/py3k/Lib/struct.py
   python/branches/py3k/Misc/NEWS
   python/branches/py3k/Modules/_struct.c

Modified: python/branches/py3k/Lib/struct.py
==============================================================================
--- python/branches/py3k/Lib/struct.py	(original)
+++ python/branches/py3k/Lib/struct.py	Sat Jun 12 17:17:02 2010
@@ -1,3 +1,14 @@
+__all__ = [
+    # Functions
+    'calcsize', 'pack', 'unpack', 'unpack', 'unpack_from',
+
+    # Classes
+    'Struct',
+
+    # Exceptions
+    'error'
+    ]
+
 from _struct import *
 from _struct import _clearcache
 from _struct import __doc__

Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS	(original)
+++ python/branches/py3k/Misc/NEWS	Sat Jun 12 17:17:02 2010
@@ -1299,6 +1299,9 @@
 Extension Modules
 -----------------
 
+- Issue #8973: Add __all__ to struct module; this ensures that
+  help(struct) includes documentation for the struct.Struct class.
+
 - Issue #3129: Trailing digits in format string are no longer ignored.
   For example, "1" or "ilib123" are now invalid formats and cause
   ``struct.error`` to be raised.

Modified: python/branches/py3k/Modules/_struct.c
==============================================================================
--- python/branches/py3k/Modules/_struct.c	(original)
+++ python/branches/py3k/Modules/_struct.c	Sat Jun 12 17:17:02 2010
@@ -1398,9 +1398,8 @@
 PyDoc_STRVAR(s_unpack__doc__,
 "S.unpack(buffer) -> (v1, v2, ...)\n\
 \n\
-Return tuple containing values unpacked according to this Struct's format.\n\
-Requires len(buffer) == self.size. See struct.__doc__ for more on format\n\
-strings.");
+Return a tuple containing values unpacked according to S.format.  Requires\n\
+len(buffer) == S.size.  See help(struct) for more on format strings.");
 
 static PyObject *
 s_unpack(PyObject *self, PyObject *input)
@@ -1426,12 +1425,10 @@
 }
 
 PyDoc_STRVAR(s_unpack_from__doc__,
-"S.unpack_from(buffer[, offset]) -> (v1, v2, ...)\n\
+"S.unpack_from(buffer[, offset=0]) -> (v1, v2, ...)\n\
 \n\
-Return tuple containing values unpacked according to this Struct's format.\n\
-Unlike unpack, unpack_from can unpack values from any object supporting\n\
-the buffer API, not just str. Requires len(buffer[offset:]) >= self.size.\n\
-See struct.__doc__ for more on format strings.");
+Return a tuple containing values unpacked according to S.format.  Requires\n\
+len(buffer[offset:]) >= S.size.  See help(struct) for more on format strings.");
 
 static PyObject *
 s_unpack_from(PyObject *self, PyObject *args, PyObject *kwds)
@@ -1566,8 +1563,8 @@
 PyDoc_STRVAR(s_pack__doc__,
 "S.pack(v1, v2, ...) -> bytes\n\
 \n\
-Return a bytes containing values v1, v2, ... packed according to this\n\
-Struct's format. See struct.__doc__ for more on format strings.");
+Return a bytes object containing values v1, v2, ... packed according to\n\
+S.format.  See help(struct) for more on format strings.");
 
 static PyObject *
 s_pack(PyObject *self, PyObject *args)
@@ -1603,10 +1600,9 @@
 PyDoc_STRVAR(s_pack_into__doc__,
 "S.pack_into(buffer, offset, v1, v2, ...)\n\
 \n\
-Pack the values v1, v2, ... according to this Struct's format, write \n\
-the packed bytes into the writable buffer buf starting at offset.  Note\n\
-that the offset is not an optional argument.  See struct.__doc__ for \n\
-more on format strings.");
+Pack the values v1, v2, ... according to S.format and write the packed bytes\n\
+into the writable buffer buf starting at offset.  Note that the offset is not\n\
+an optional argument.  See help(struct) for more on format strings.");
 
 static PyObject *
 s_pack_into(PyObject *self, PyObject *args)
@@ -1796,7 +1792,10 @@
 }
 
 PyDoc_STRVAR(pack_doc,
-"Return bytes containing values v1, v2, ... packed according to fmt.");
+"pack(fmt, v1, v2, ...) -> bytes\n\
+\n\
+Return a bytes object containing values v1, v2, ... packed according to fmt.\n\
+See help(struct) for more on format strings.");
 
 static PyObject *
 pack(PyObject *self, PyObject *args)
@@ -1825,8 +1824,11 @@
 }
 
 PyDoc_STRVAR(pack_into_doc,
-"Pack the values v1, v2, ... according to fmt.\n\
-Write the packed bytes into the writable buffer buf starting at offset.");
+"pack_into(fmt, buffer, offset, v1, v2, ...)\n\
+\n\
+Pack the values v1, v2, ... according to fmt and write the packed bytes into\n\
+the writable buffer buf starting at offset.  Note that the offset is not an\n\
+optional argument.  See help(struct) for more on format strings.");
 
 static PyObject *
 pack_into(PyObject *self, PyObject *args)
@@ -1855,8 +1857,10 @@
 }
 
 PyDoc_STRVAR(unpack_doc,
-"Unpack the bytes containing packed C structure data, according to fmt.\n\
-Requires len(bytes) == calcsize(fmt).");
+"unpack(fmt, buffer) -> (v1, v2, ...)\n\
+\n\
+Return a tuple containing values unpacked according to fmt.  Requires\n\
+len(buffer) == calcsize(fmt). See help(struct) for more on format strings.");
 
 static PyObject *
 unpack(PyObject *self, PyObject *args)
@@ -1875,8 +1879,11 @@
 }
 
 PyDoc_STRVAR(unpack_from_doc,
-"Unpack the buffer, containing packed C structure data, according to\n\
-fmt, starting at offset. Requires len(buffer[offset:]) >= calcsize(fmt).");
+"unpack_from(fmt, buffer[, offset=0]) -> (v1, v2, ...)\n\
+\n\
+Return a tuple containing values unpacked according to fmt.  Requires\n\
+len(buffer[offset:]) >= calcsize(fmt).  See help(struct) for more on format\n\
+strings.");
 
 static PyObject *
 unpack_from(PyObject *self, PyObject *args, PyObject *kwds)


More information about the Python-checkins mailing list