mirror of
https://github.com/python/cpython
synced 2026-09-29 09:40:29 +03: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
|
|
@ -461,7 +461,7 @@ bsddb_keys(bsddbobject *dp)
|
|||
}
|
||||
|
||||
static PyObject *
|
||||
bsddb_has_key(bsddbobject *dp, PyObject *args)
|
||||
bsddb_contains(bsddbobject *dp, PyObject *args)
|
||||
{
|
||||
DBT krec, drec;
|
||||
int status;
|
||||
|
|
@ -640,7 +640,7 @@ bsddb_sync(bsddbobject *dp)
|
|||
static PyMethodDef bsddb_methods[] = {
|
||||
{"close", (PyCFunction)bsddb_close, METH_NOARGS},
|
||||
{"keys", (PyCFunction)bsddb_keys, METH_NOARGS},
|
||||
{"has_key", (PyCFunction)bsddb_has_key, METH_VARARGS},
|
||||
{"__contains__", (PyCFunction)bsddb_contains, METH_VARARGS},
|
||||
{"set_location", (PyCFunction)bsddb_set_location, METH_VARARGS},
|
||||
{"next", (PyCFunction)bsddb_next, METH_NOARGS},
|
||||
{"previous", (PyCFunction)bsddb_previous, METH_NOARGS},
|
||||
|
|
|
|||
|
|
@ -206,12 +206,12 @@ dbm_keys(register dbmobject *dp, PyObject *unused)
|
|||
}
|
||||
|
||||
static PyObject *
|
||||
dbm_has_key(register dbmobject *dp, PyObject *args)
|
||||
dbm_contains(register dbmobject *dp, PyObject *args)
|
||||
{
|
||||
datum key, val;
|
||||
int tmp_size;
|
||||
|
||||
if (!PyArg_ParseTuple(args, "s#:has_key", &key.dptr, &tmp_size))
|
||||
if (!PyArg_ParseTuple(args, "s#:__contains__", &key.dptr, &tmp_size))
|
||||
return NULL;
|
||||
key.dsize = tmp_size;
|
||||
check_dbmobject_open(dp);
|
||||
|
|
@ -277,8 +277,8 @@ static PyMethodDef dbm_methods[] = {
|
|||
"close()\nClose the database."},
|
||||
{"keys", (PyCFunction)dbm_keys, METH_NOARGS,
|
||||
"keys() -> list\nReturn a list of all keys in the database."},
|
||||
{"has_key", (PyCFunction)dbm_has_key, METH_VARARGS,
|
||||
"has_key(key} -> boolean\nReturn true iff key is in the database."},
|
||||
{"__contains__",(PyCFunction)dbm_contains, METH_VARARGS,
|
||||
"__contains__(key} -> boolean\True iff key is in the database."},
|
||||
{"get", (PyCFunction)dbm_get, METH_VARARGS,
|
||||
"get(key[, default]) -> value\n"
|
||||
"Return the value for key if present, otherwise default."},
|
||||
|
|
|
|||
|
|
@ -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