Jim Fulton's change to support doc strings

This commit is contained in:
Jack Jansen 1995-06-20 12:26:03 +00:00
parent 1e054024c1
commit 9a69112f85
5 changed files with 30 additions and 4 deletions

View File

@ -1,4 +1,8 @@
static char $abbrev$_$method$__doc__[] =
""
;
static PyObject *
$abbrev$_$method$(self, args)
PyObject *self; /* Not used */

View File

@ -9,13 +9,19 @@ static struct PyMethodDef $abbrev$_methods[] = {
/* Initialization function for the module (*must* be called init$name$) */
static char $name$_module_documentation[] =
""
;
void
init$name$()
{
PyObject *m, *d;
/* Create the module and add the functions */
m = Py_InitModule("$name$", $abbrev$_methods);
m = Py_InitModule4("$name$", $abbrev$_methods,
$name$_module_documentation,
(PyObject*)NULL,PYTHON_API_VERSION);
/* Add some symbolic constants to the module */
d = PyModule_GetDict(m);

View File

@ -1,4 +1,8 @@
static char $abbrev$_$method$__doc__[] =
""
;
static PyObject *
$abbrev$_$method$(self, args)
$abbrev$object *self;

View File

@ -1,4 +1,8 @@
static char $Abbrev$type__doc__[] =
""
;
static PyTypeObject $Abbrev$type = {
PyObject_HEAD_INIT(&PyType_Type)
0, /*ob_size*/
@ -16,6 +20,12 @@ static PyTypeObject $Abbrev$type = {
$tp_as_sequence$, /*tp_as_sequence*/
$tp_as_mapping$, /*tp_as_mapping*/
(hashfunc)$tp_hash$, /*tp_hash*/
(binaryfunc)$tp_call$, /*tp_call*/
(reprfunc)$tp_str$, /*tp_str*/
/* Space for future expansion */
0L,0L,0L,0L,
$Abbrev$type__doc__ /* Documentation string */
};
/* End of code for $name$ objects */

View File

@ -28,7 +28,7 @@ error = 'genmodule.error'
# Names of functions in the object-description struct.
#
FUNCLIST = ['new', 'tp_dealloc', 'tp_print', 'tp_getattr', 'tp_setattr',
'tp_compare', 'tp_repr', 'tp_hash']
'tp_compare', 'tp_repr', 'tp_hash', 'tp_call', 'tp_str']
TYPELIST = ['tp_as_number', 'tp_as_sequence', 'tp_as_mapping', 'structure']
#
@ -81,7 +81,8 @@ class module(writer):
for fn in self.methodlist:
self.method = fn
self.addcode('module_method', fp)
new_ml = new_ml + ('{"%s",\t%s_%s,\t1},\n'%(fn, self.abbrev, fn))
new_ml = new_ml + ('{"%s",\t%s_%s,\t1,\t%s_%s__doc__},\n'
%(fn, self.abbrev, fn, self.abbrev, fn))
self.methodlist = new_ml
self.addcode('module_tail', fp)
@ -106,7 +107,8 @@ class object(writer):
for fn in self.methodlist:
self.method = fn
self.addcode('object_method', fp)
new_ml = new_ml + ('{"%s",\t%s_%s,\t1},\n'%(fn, self.abbrev, fn))
new_ml = new_ml + ('{"%s",\t%s_%s,\t1,\t%s_%s__doc__},\n'
%(fn, self.abbrev, fn, self.abbrev, fn))
self.methodlist = new_ml
self.addcode('object_mlist', fp)