[Python-checkins] CVS: python/dist/src/Objects descrobject.c,2.22,2.23

Walter D?rwald doerwalter@users.sourceforge.net
Mon, 25 Mar 2002 09:43:25 -0800


Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv894

Modified Files:
	descrobject.c 
Log Message:
Add missing methods iterkeys, itervalues and iteritems to
dict-proxy objects.

Add real docstrings to all methods.


Index: descrobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/descrobject.c,v
retrieving revision 2.22
retrieving revision 2.23
diff -C2 -d -r2.22 -r2.23
*** descrobject.c	15 Dec 2001 05:00:30 -0000	2.22
--- descrobject.c	25 Mar 2002 17:43:22 -0000	2.23
***************
*** 645,648 ****
--- 645,665 ----
  
  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)
  {
***************
*** 651,660 ****
  
  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"},
  	{0}
  };
--- 668,680 ----
  
  static PyMethodDef proxy_methods[] = {
! 	{"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}
  };