Add missing methods iterkeys, itervalues and iteritems to

dict-proxy objects.

Add real docstrings to all methods.
This commit is contained in:
Walter Dörwald 2002-03-25 17:43:22 +00:00
parent 3787c9d94c
commit e990c79fa8
1 changed files with 26 additions and 6 deletions

View File

@ -643,6 +643,23 @@ proxy_items(proxyobject *pp)
return PyMapping_Items(pp->dict); return PyMapping_Items(pp->dict);
} }
static PyObject *
proxy_iterkeys(proxyobject *pp)
{
return PyObject_CallMethod(pp->dict, "iterkeys", NULL);
}
static PyObject *
proxy_itervalues(proxyobject *pp)
{
return PyObject_CallMethod(pp->dict, "itervalues", NULL);
}
static PyObject *
proxy_iteritems(proxyobject *pp)
{
return PyObject_CallMethod(pp->dict, "iteritems", NULL);
}
static PyObject * static PyObject *
proxy_copy(proxyobject *pp) proxy_copy(proxyobject *pp)
{ {
@ -650,12 +667,15 @@ proxy_copy(proxyobject *pp)
} }
static PyMethodDef proxy_methods[] = { static PyMethodDef proxy_methods[] = {
{"has_key", (PyCFunction)proxy_has_key, METH_O, "XXX"}, {"has_key", (PyCFunction)proxy_has_key, METH_O, "D.has_key(k) -> 1 if D has a key k, else 0"},
{"get", (PyCFunction)proxy_get, METH_VARARGS, "XXX"}, {"get", (PyCFunction)proxy_get, METH_VARARGS, "D.get(k[,d]) -> D[k] if D.has_key(k), else d. d defaults to None."},
{"keys", (PyCFunction)proxy_keys, METH_NOARGS, "XXX"}, {"keys", (PyCFunction)proxy_keys, METH_NOARGS, "D.keys() -> list of D's keys"},
{"values", (PyCFunction)proxy_values, METH_NOARGS, "XXX"}, {"values", (PyCFunction)proxy_values, METH_NOARGS, "D.values() -> list of D's values"},
{"items", (PyCFunction)proxy_items, METH_NOARGS, "XXX"}, {"items", (PyCFunction)proxy_items, METH_NOARGS, "D.items() -> list of D's (key, value) pairs, as 2-tuples"},
{"copy", (PyCFunction)proxy_copy, METH_NOARGS, "XXX"}, {"iterkeys", (PyCFunction)proxy_iterkeys, METH_NOARGS, "D.iterkeys() -> an iterator over the keys of D"},
{"itervalues",(PyCFunction)proxy_itervalues, METH_NOARGS, "D.itervalues() -> an iterator over the values of D"},
{"iteritems", (PyCFunction)proxy_iteritems, METH_NOARGS, "D.iteritems() -> an iterator over the (key, value) items of D"},
{"copy", (PyCFunction)proxy_copy, METH_NOARGS, "D.copy() -> a shallow copy of D"},
{0} {0}
}; };