summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurelien Aptel <aaptel@suse.com>2015-07-16 16:55:28 +0200
committerAndreas Schneider <asn@cryptomilk.org>2015-07-21 19:04:15 +0200
commitb86df6e47c85fd50125cc99bce6dba0e27650840 (patch)
treefe15bc909cbf153064ff205ac303f08e14126b9f
parent075799ac173dec49e1a669528eb85265962652d2 (diff)
downloadsamba-b86df6e47c85fd50125cc99bce6dba0e27650840.tar.gz
tdb python binding: raise KeyError(key) when the key doesn't exist
This change makes tdb dicts more consistent with Python dicts. BUG: https://bugzilla.samba.org/show_bug.cgi?id=7416 Signed-off-by: Aurelien Aptel <aaptel@suse.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
-rw-r--r--lib/tdb/pytdb.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/tdb/pytdb.c b/lib/tdb/pytdb.c
index b0f9cd961d7..c9d3a7660e3 100644
--- a/lib/tdb/pytdb.c
+++ b/lib/tdb/pytdb.c
@@ -650,7 +650,11 @@ static PyObject *obj_getitem(PyTdbObject *self, PyObject *key)
val = tdb_fetch(self->ctx, tkey);
if (val.dptr == NULL) {
- PyErr_SetString(PyExc_KeyError, "No such TDB entry");
+ /*
+ * if the key doesn't exist raise KeyError(key) to be
+ * consistent with python dict
+ */
+ PyErr_SetObject(PyExc_KeyError, key);
return NULL;
} else {
return PyBytes_FromTDB_DATA(val);