Issue #8973: Add __all__ to struct module, so that help(struct) correctly

displays information for the struct.Struct class.
This commit is contained in:
Mark Dickinson 2010-06-12 15:17:02 +00:00
parent 3a810e6825
commit 4b80ef5432
3 changed files with 42 additions and 21 deletions

View File

@ -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__

View File

@ -1299,6 +1299,9 @@ Library
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.

View File

@ -1398,9 +1398,8 @@ fail:
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 @@ s_unpack(PyObject *self, PyObject *input)
}
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 @@ s_pack_internal(PyStructObject *soself, PyObject *args, int offset, char* buf)
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 @@ s_pack(PyObject *self, PyObject *args)
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 @@ calcsize(PyObject *self, PyObject *fmt)
}
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 @@ pack(PyObject *self, PyObject *args)
}
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 @@ pack_into(PyObject *self, PyObject *args)
}
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 @@ unpack(PyObject *self, PyObject *args)
}
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)