Issue #20152: Port the spwd module to Argument Clinic.
This commit is contained in:
parent
04bb443eb6
commit
20cf6ddfa2
|
@ -0,0 +1,70 @@
|
||||||
|
/*[clinic input]
|
||||||
|
preserve
|
||||||
|
[clinic start generated code]*/
|
||||||
|
|
||||||
|
#if defined(HAVE_GETSPNAM)
|
||||||
|
|
||||||
|
PyDoc_STRVAR(spwd_getspnam__doc__,
|
||||||
|
"getspnam($module, arg, /)\n"
|
||||||
|
"--\n"
|
||||||
|
"\n"
|
||||||
|
"Return the shadow password database entry for the given user name.\n"
|
||||||
|
"\n"
|
||||||
|
"See `help(spwd)` for more on shadow password database entries.");
|
||||||
|
|
||||||
|
#define SPWD_GETSPNAM_METHODDEF \
|
||||||
|
{"getspnam", (PyCFunction)spwd_getspnam, METH_VARARGS, spwd_getspnam__doc__},
|
||||||
|
|
||||||
|
static PyObject *
|
||||||
|
spwd_getspnam_impl(PyModuleDef *module, PyObject *arg);
|
||||||
|
|
||||||
|
static PyObject *
|
||||||
|
spwd_getspnam(PyModuleDef *module, PyObject *args)
|
||||||
|
{
|
||||||
|
PyObject *return_value = NULL;
|
||||||
|
PyObject *arg;
|
||||||
|
|
||||||
|
if (!PyArg_ParseTuple(args,
|
||||||
|
"U:getspnam",
|
||||||
|
&arg))
|
||||||
|
goto exit;
|
||||||
|
return_value = spwd_getspnam_impl(module, arg);
|
||||||
|
|
||||||
|
exit:
|
||||||
|
return return_value;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* defined(HAVE_GETSPNAM) */
|
||||||
|
|
||||||
|
#ifndef SPWD_GETSPNAM_METHODDEF
|
||||||
|
#define SPWD_GETSPNAM_METHODDEF
|
||||||
|
#endif /* !defined(SPWD_GETSPNAM_METHODDEF) */
|
||||||
|
|
||||||
|
#if defined(HAVE_GETSPENT)
|
||||||
|
|
||||||
|
PyDoc_STRVAR(spwd_getspall__doc__,
|
||||||
|
"getspall($module, /)\n"
|
||||||
|
"--\n"
|
||||||
|
"\n"
|
||||||
|
"Return a list of all available shadow password database entries, in arbitrary order.\n"
|
||||||
|
"\n"
|
||||||
|
"See `help(spwd)` for more on shadow password database entries.");
|
||||||
|
|
||||||
|
#define SPWD_GETSPALL_METHODDEF \
|
||||||
|
{"getspall", (PyCFunction)spwd_getspall, METH_NOARGS, spwd_getspall__doc__},
|
||||||
|
|
||||||
|
static PyObject *
|
||||||
|
spwd_getspall_impl(PyModuleDef *module);
|
||||||
|
|
||||||
|
static PyObject *
|
||||||
|
spwd_getspall(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
|
||||||
|
{
|
||||||
|
return spwd_getspall_impl(module);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* defined(HAVE_GETSPENT) */
|
||||||
|
|
||||||
|
#ifndef SPWD_GETSPALL_METHODDEF
|
||||||
|
#define SPWD_GETSPALL_METHODDEF
|
||||||
|
#endif /* !defined(SPWD_GETSPALL_METHODDEF) */
|
||||||
|
/*[clinic end generated code: output=41fec4a15b0cd2a0 input=a9049054013a1b77]*/
|
|
@ -10,6 +10,11 @@
|
||||||
#include <shadow.h>
|
#include <shadow.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*[clinic input]
|
||||||
|
output preset file
|
||||||
|
module spwd
|
||||||
|
[clinic start generated code]*/
|
||||||
|
/*[clinic end generated code: output=da39a3ee5e6b4b0d input=b3464a3667278fae]*/
|
||||||
|
|
||||||
PyDoc_STRVAR(spwd__doc__,
|
PyDoc_STRVAR(spwd__doc__,
|
||||||
"This module provides access to the Unix shadow password database.\n\
|
"This module provides access to the Unix shadow password database.\n\
|
||||||
|
@ -107,20 +112,25 @@ static PyObject *mkspent(struct spwd *p)
|
||||||
|
|
||||||
#ifdef HAVE_GETSPNAM
|
#ifdef HAVE_GETSPNAM
|
||||||
|
|
||||||
PyDoc_STRVAR(spwd_getspnam__doc__,
|
/*[clinic input]
|
||||||
"getspnam(name) -> (sp_namp, sp_pwdp, sp_lstchg, sp_min, sp_max,\n\
|
spwd.getspnam
|
||||||
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.");
|
|
||||||
|
|
||||||
static PyObject* spwd_getspnam(PyObject *self, PyObject *args)
|
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_impl(PyModuleDef *module, PyObject *arg)
|
||||||
|
/*[clinic end generated code: output=9f6bbe51a4eb3b21 input=dd89429e6167a00f]*/
|
||||||
{
|
{
|
||||||
char *name;
|
char *name;
|
||||||
struct spwd *p;
|
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)
|
if ((bytes = PyUnicode_EncodeFSDefault(arg)) == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
if (PyBytes_AsStringAndSize(bytes, &name, NULL) == -1)
|
if (PyBytes_AsStringAndSize(bytes, &name, NULL) == -1)
|
||||||
|
@ -139,14 +149,17 @@ out:
|
||||||
|
|
||||||
#ifdef HAVE_GETSPENT
|
#ifdef HAVE_GETSPENT
|
||||||
|
|
||||||
PyDoc_STRVAR(spwd_getspall__doc__,
|
/*[clinic input]
|
||||||
"getspall() -> list_of_entries\n\
|
spwd.getspall
|
||||||
Return a list of all available shadow password database entries, \
|
|
||||||
in arbitrary order.\n\
|
Return a list of all available shadow password database entries, in arbitrary order.
|
||||||
See spwd.__doc__ for more on shadow password database entries.");
|
|
||||||
|
See `help(spwd)` for more on shadow password database entries.
|
||||||
|
[clinic start generated code]*/
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
spwd_getspall(PyObject *self, PyObject *args)
|
spwd_getspall_impl(PyModuleDef *module)
|
||||||
|
/*[clinic end generated code: output=b12d8ec7bdb29612 input=b2c84b7857d622bd]*/
|
||||||
{
|
{
|
||||||
PyObject *d;
|
PyObject *d;
|
||||||
struct spwd *p;
|
struct spwd *p;
|
||||||
|
@ -171,10 +184,10 @@ spwd_getspall(PyObject *self, PyObject *args)
|
||||||
|
|
||||||
static PyMethodDef spwd_methods[] = {
|
static PyMethodDef spwd_methods[] = {
|
||||||
#ifdef HAVE_GETSPNAM
|
#ifdef HAVE_GETSPNAM
|
||||||
{"getspnam", spwd_getspnam, METH_VARARGS, spwd_getspnam__doc__},
|
SPWD_GETSPNAM_METHODDEF
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_GETSPENT
|
#ifdef HAVE_GETSPENT
|
||||||
{"getspall", spwd_getspall, METH_NOARGS, spwd_getspall__doc__},
|
SPWD_GETSPALL_METHODDEF
|
||||||
#endif
|
#endif
|
||||||
{NULL, NULL} /* sentinel */
|
{NULL, NULL} /* sentinel */
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue