From c3e535362f6ad3c6940c96b061dd00d52d7bfb76 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sun, 22 Sep 2013 17:45:01 -0700 Subject: [PATCH] pydsdb: Give KeyError when we fail a schema lookup in python This allows sensible exception handling. Andrew Bartlett Signed-off-by: Andrew Bartlett Reviewed-by: Michael Adam (cherry picked from commit 51101b310adedb4eeb4c4382e631594ffa679ff2) --- source4/dsdb/pydsdb.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/source4/dsdb/pydsdb.c b/source4/dsdb/pydsdb.c index c9e80c2f1bd..793c49522b0 100644 --- a/source4/dsdb/pydsdb.c +++ b/source4/dsdb/pydsdb.c @@ -327,7 +327,7 @@ static PyObject *py_dsdb_get_attid_from_lDAPDisplayName(PyObject *self, PyObject a = dsdb_attribute_by_lDAPDisplayName(schema, ldap_display_name); if (a == NULL) { - PyErr_Format(PyExc_RuntimeError, "Failed to find attribute '%s'", ldap_display_name); + PyErr_Format(PyExc_KeyError, "Failed to find attribute '%s'", ldap_display_name); return NULL; } @@ -361,7 +361,7 @@ static PyObject *py_dsdb_get_systemFlags_from_lDAPDisplayName(PyObject *self, Py attribute = dsdb_attribute_by_lDAPDisplayName(schema, ldap_display_name); if (attribute == NULL) { - PyErr_Format(PyExc_RuntimeError, "Failed to find attribute '%s'", ldap_display_name); + PyErr_Format(PyExc_KeyError, "Failed to find attribute '%s'", ldap_display_name); return NULL; } @@ -393,7 +393,7 @@ static PyObject *py_dsdb_get_linkId_from_lDAPDisplayName(PyObject *self, PyObjec attribute = dsdb_attribute_by_lDAPDisplayName(schema, ldap_display_name); if (attribute == NULL) { - PyErr_Format(PyExc_RuntimeError, "Failed to find attribute '%s'", ldap_display_name); + PyErr_Format(PyExc_KeyError, "Failed to find attribute '%s'", ldap_display_name); return NULL; } @@ -425,7 +425,7 @@ static PyObject *py_dsdb_get_backlink_from_lDAPDisplayName(PyObject *self, PyObj attribute = dsdb_attribute_by_lDAPDisplayName(schema, ldap_display_name); if (attribute == NULL) { - PyErr_Format(PyExc_RuntimeError, "Failed to find attribute '%s'", ldap_display_name); + PyErr_Format(PyExc_KeyError, "Failed to find attribute '%s'", ldap_display_name); return NULL; } @@ -466,7 +466,7 @@ static PyObject *py_dsdb_get_lDAPDisplayName_by_attid(PyObject *self, PyObject * a = dsdb_attribute_by_attributeID_id(schema, attid); if (a == NULL) { - PyErr_Format(PyExc_RuntimeError, "Failed to find attribute '0x%08x'", attid); + PyErr_Format(PyExc_KeyError, "Failed to find attribute '0x%08x'", attid); return NULL; } @@ -499,7 +499,7 @@ static PyObject *py_dsdb_get_syntax_oid_from_lDAPDisplayName(PyObject *self, PyO attribute = dsdb_attribute_by_lDAPDisplayName(schema, ldap_display_name); if (attribute == NULL) { - PyErr_Format(PyExc_RuntimeError, "Failed to find attribute '%s'", ldap_display_name); + PyErr_Format(PyExc_KeyError, "Failed to find attribute '%s'", ldap_display_name); return NULL; } @@ -542,7 +542,7 @@ static PyObject *py_dsdb_DsReplicaAttribute(PyObject *self, PyObject *args) a = dsdb_attribute_by_lDAPDisplayName(schema, ldap_display_name); if (a == NULL) { - PyErr_Format(PyExc_RuntimeError, "Failed to find attribute '%s'", ldap_display_name); + PyErr_Format(PyExc_KeyError, "Failed to find attribute '%s'", ldap_display_name); return NULL; } @@ -637,7 +637,7 @@ static PyObject *py_dsdb_normalise_attributes(PyObject *self, PyObject *args) a = dsdb_attribute_by_lDAPDisplayName(schema, ldap_display_name); if (a == NULL) { - PyErr_Format(PyExc_RuntimeError, "Failed to find attribute '%s'", ldap_display_name); + PyErr_Format(PyExc_KeyError, "Failed to find attribute '%s'", ldap_display_name); return NULL; } -- 2.11.4.GIT