mirror of
https://github.com/python/cpython.git
synced 2025-11-01 10:45:30 +00:00
Get rid of dict.has_key(). Boy this has a lot of repercussions!
Not all code has been fixed yet; this is just a checkpoint... The C API still has PyDict_HasKey() and _HasKeyString(); not sure if I want to change those just yet.
This commit is contained in:
parent
d2dbecb4ae
commit
e2b70bcf74
93 changed files with 215 additions and 313 deletions
|
|
@ -241,16 +241,16 @@ dbm_keys(register dbmobject *dp, PyObject *unused)
|
|||
return v;
|
||||
}
|
||||
|
||||
PyDoc_STRVAR(dbm_has_key__doc__,
|
||||
"has_key(key) -> boolean\n\
|
||||
PyDoc_STRVAR(dbm_contains__doc__,
|
||||
"__contains__(key) -> bool\n\
|
||||
Find out whether or not the database contains a given key.");
|
||||
|
||||
static PyObject *
|
||||
dbm_has_key(register dbmobject *dp, PyObject *args)
|
||||
dbm_contains(register dbmobject *dp, PyObject *args)
|
||||
{
|
||||
datum key;
|
||||
|
||||
if (!PyArg_ParseTuple(args, "s#:has_key", &key.dptr, &key.dsize))
|
||||
if (!PyArg_ParseTuple(args, "s#:contains", &key.dptr, &key.dsize))
|
||||
return NULL;
|
||||
check_dbmobject_open(dp);
|
||||
return PyInt_FromLong((long) gdbm_exists(dp->di_dbm, key));
|
||||
|
|
@ -355,7 +355,7 @@ dbm_sync(register dbmobject *dp, PyObject *unused)
|
|||
static PyMethodDef dbm_methods[] = {
|
||||
{"close", (PyCFunction)dbm_close, METH_NOARGS, dbm_close__doc__},
|
||||
{"keys", (PyCFunction)dbm_keys, METH_NOARGS, dbm_keys__doc__},
|
||||
{"has_key", (PyCFunction)dbm_has_key, METH_VARARGS, dbm_has_key__doc__},
|
||||
{"__contains__",(PyCFunction)dbm_contains,METH_VARARGS, dbm_contains__doc__},
|
||||
{"firstkey", (PyCFunction)dbm_firstkey,METH_NOARGS, dbm_firstkey__doc__},
|
||||
{"nextkey", (PyCFunction)dbm_nextkey, METH_VARARGS, dbm_nextkey__doc__},
|
||||
{"reorganize",(PyCFunction)dbm_reorganize,METH_NOARGS, dbm_reorganize__doc__},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue