Make delete_multi return value compatible with python-memcached.
This commit is contained in:
parent
3e254545a9
commit
b7d381a160
@ -40,7 +40,6 @@
|
||||
#endif
|
||||
|
||||
|
||||
/* {{{ _pylibmc.client implementation */
|
||||
/* {{{ Type methods */
|
||||
static PylibMC_Client *PylibMC_ClientType_new(PyTypeObject *type,
|
||||
PyObject *args, PyObject *kwds) {
|
||||
@ -873,6 +872,15 @@ static PyObject *PylibMC_Client_delete_multi(PylibMC_Client *self,
|
||||
}
|
||||
Py_DECREF(delete);
|
||||
|
||||
if (PyList_GET_SIZE(retval) == 0) {
|
||||
Py_DECREF(retval);
|
||||
retval = Py_True;
|
||||
} else {
|
||||
Py_DECREF(retval);
|
||||
retval = Py_False;
|
||||
}
|
||||
Py_INCREF(retval);
|
||||
|
||||
return retval;
|
||||
error:
|
||||
Py_XDECREF(delete);
|
||||
|
6
tests.py
6
tests.py
@ -36,7 +36,7 @@ Multi functionality.
|
||||
>>> c.get_multi("abc").keys() == ["a", "c", "b"]
|
||||
True
|
||||
>>> c.delete_multi("abc")
|
||||
[]
|
||||
True
|
||||
>>> c.get_multi("abc").keys() == []
|
||||
True
|
||||
>>> c.set_multi(dict(zip("abc", "def")), key_prefix="test_")
|
||||
@ -46,7 +46,7 @@ True
|
||||
>>> c.get("test_a")
|
||||
'd'
|
||||
>>> c.delete_multi("abc", key_prefix="test_")
|
||||
[]
|
||||
True
|
||||
>>> bool(c.get_multi("abc", key_prefix="test_"))
|
||||
False
|
||||
|
||||
@ -54,7 +54,7 @@ Zero-key-test-time!
|
||||
>>> c.get_multi([""])
|
||||
{}
|
||||
>>> c.delete_multi([""])
|
||||
['']
|
||||
False
|
||||
>>> c.set_multi({"": "hi"})
|
||||
['']
|
||||
|
||||
|
Reference in New Issue
Block a user