Make delete_multi return value compatible with python-memcached.

This commit is contained in:
lericson 2009-12-13 21:00:39 +01:00
parent 3e254545a9
commit b7d381a160
2 changed files with 12 additions and 4 deletions

View File

@ -40,7 +40,6 @@
#endif #endif
/* {{{ _pylibmc.client implementation */
/* {{{ Type methods */ /* {{{ Type methods */
static PylibMC_Client *PylibMC_ClientType_new(PyTypeObject *type, static PylibMC_Client *PylibMC_ClientType_new(PyTypeObject *type,
PyObject *args, PyObject *kwds) { PyObject *args, PyObject *kwds) {
@ -873,6 +872,15 @@ static PyObject *PylibMC_Client_delete_multi(PylibMC_Client *self,
} }
Py_DECREF(delete); 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; return retval;
error: error:
Py_XDECREF(delete); Py_XDECREF(delete);

View File

@ -36,7 +36,7 @@ Multi functionality.
>>> c.get_multi("abc").keys() == ["a", "c", "b"] >>> c.get_multi("abc").keys() == ["a", "c", "b"]
True True
>>> c.delete_multi("abc") >>> c.delete_multi("abc")
[] True
>>> c.get_multi("abc").keys() == [] >>> c.get_multi("abc").keys() == []
True True
>>> c.set_multi(dict(zip("abc", "def")), key_prefix="test_") >>> c.set_multi(dict(zip("abc", "def")), key_prefix="test_")
@ -46,7 +46,7 @@ True
>>> c.get("test_a") >>> c.get("test_a")
'd' 'd'
>>> c.delete_multi("abc", key_prefix="test_") >>> c.delete_multi("abc", key_prefix="test_")
[] True
>>> bool(c.get_multi("abc", key_prefix="test_")) >>> bool(c.get_multi("abc", key_prefix="test_"))
False False
@ -54,7 +54,7 @@ Zero-key-test-time!
>>> c.get_multi([""]) >>> c.get_multi([""])
{} {}
>>> c.delete_multi([""]) >>> c.delete_multi([""])
[''] False
>>> c.set_multi({"": "hi"}) >>> c.set_multi({"": "hi"})
[''] ['']