From e990c79fa843309f619819d6aa4bc34353282545 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Walter=20D=C3=B6rwald?= Date: Mon, 25 Mar 2002 17:43:22 +0000 Subject: [PATCH] Add missing methods iterkeys, itervalues and iteritems to dict-proxy objects. Add real docstrings to all methods. --- Objects/descrobject.c | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/Objects/descrobject.c b/Objects/descrobject.c index e7aa4ec1785..924c0b25703 100644 --- a/Objects/descrobject.c +++ b/Objects/descrobject.c @@ -643,6 +643,23 @@ proxy_items(proxyobject *pp) 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 * proxy_copy(proxyobject *pp) { @@ -650,12 +667,15 @@ proxy_copy(proxyobject *pp) } static PyMethodDef proxy_methods[] = { - {"has_key", (PyCFunction)proxy_has_key, METH_O, "XXX"}, - {"get", (PyCFunction)proxy_get, METH_VARARGS, "XXX"}, - {"keys", (PyCFunction)proxy_keys, METH_NOARGS, "XXX"}, - {"values", (PyCFunction)proxy_values, METH_NOARGS, "XXX"}, - {"items", (PyCFunction)proxy_items, METH_NOARGS, "XXX"}, - {"copy", (PyCFunction)proxy_copy, METH_NOARGS, "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, "D.get(k[,d]) -> D[k] if D.has_key(k), else d. d defaults to None."}, + {"keys", (PyCFunction)proxy_keys, METH_NOARGS, "D.keys() -> list of D's keys"}, + {"values", (PyCFunction)proxy_values, METH_NOARGS, "D.values() -> list of D's values"}, + {"items", (PyCFunction)proxy_items, METH_NOARGS, "D.items() -> list of D's (key, value) pairs, as 2-tuples"}, + {"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} };