summaryrefslogtreecommitdiff
path: root/Modules/spwdmodule.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/spwdmodule.c')
-rw-r--r--Modules/spwdmodule.c49
1 files changed, 32 insertions, 17 deletions
diff --git a/Modules/spwdmodule.c b/Modules/spwdmodule.c
index 68ea1b5ea4..013cb1156e 100644
--- a/Modules/spwdmodule.c
+++ b/Modules/spwdmodule.c
@@ -10,6 +10,13 @@
#include <shadow.h>
#endif
+#include "clinic/spwdmodule.c.h"
+
+/*[clinic input]
+output preset file
+module spwd
+[clinic start generated code]*/
+/*[clinic end generated code: output=da39a3ee5e6b4b0d input=b3464a3667278fae]*/
PyDoc_STRVAR(spwd__doc__,
"This module provides access to the Unix shadow password database.\n\
@@ -107,20 +114,25 @@ static PyObject *mkspent(struct spwd *p)
#ifdef HAVE_GETSPNAM
-PyDoc_STRVAR(spwd_getspnam__doc__,
-"getspnam(name) -> (sp_namp, sp_pwdp, sp_lstchg, sp_min, sp_max,\n\
- sp_warn, sp_inact, sp_expire, sp_flag)\n\
-Return the shadow password database entry for the given user name.\n\
-See spwd.__doc__ for more on shadow password database entries.");
+/*[clinic input]
+spwd.getspnam
+
+ arg: unicode
+ /
+
+Return the shadow password database entry for the given user name.
+
+See `help(spwd)` for more on shadow password database entries.
+[clinic start generated code]*/
-static PyObject* spwd_getspnam(PyObject *self, PyObject *args)
+static PyObject *
+spwd_getspnam_impl(PyModuleDef *module, PyObject *arg)
+/*[clinic end generated code: output=9f6bbe51a4eb3b21 input=dd89429e6167a00f]*/
{
char *name;
struct spwd *p;
- PyObject *arg, *bytes, *retval = NULL;
+ PyObject *bytes, *retval = NULL;
- if (!PyArg_ParseTuple(args, "U:getspnam", &arg))
- return NULL;
if ((bytes = PyUnicode_EncodeFSDefault(arg)) == NULL)
return NULL;
if (PyBytes_AsStringAndSize(bytes, &name, NULL) == -1)
@@ -139,14 +151,17 @@ out:
#ifdef HAVE_GETSPENT
-PyDoc_STRVAR(spwd_getspall__doc__,
-"getspall() -> list_of_entries\n\
-Return a list of all available shadow password database entries, \
-in arbitrary order.\n\
-See spwd.__doc__ for more on shadow password database entries.");
+/*[clinic input]
+spwd.getspall
+
+Return a list of all available shadow password database entries, in arbitrary order.
+
+See `help(spwd)` for more on shadow password database entries.
+[clinic start generated code]*/
static PyObject *
-spwd_getspall(PyObject *self, PyObject *args)
+spwd_getspall_impl(PyModuleDef *module)
+/*[clinic end generated code: output=b12d8ec7bdb29612 input=b2c84b7857d622bd]*/
{
PyObject *d;
struct spwd *p;
@@ -171,10 +186,10 @@ spwd_getspall(PyObject *self, PyObject *args)
static PyMethodDef spwd_methods[] = {
#ifdef HAVE_GETSPNAM
- {"getspnam", spwd_getspnam, METH_VARARGS, spwd_getspnam__doc__},
+ SPWD_GETSPNAM_METHODDEF
#endif
#ifdef HAVE_GETSPENT
- {"getspall", spwd_getspall, METH_NOARGS, spwd_getspall__doc__},
+ SPWD_GETSPALL_METHODDEF
#endif
{NULL, NULL} /* sentinel */
};