From: Michael Tremer Date: Thu, 2 Sep 2021 13:22:23 +0000 (+0000) Subject: python: Permit passing family to database enumerator X-Git-Tag: 0.9.8~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d34b669c363dbe24da2182f7d484f23f8bab616b;p=people%2Fms%2Flibloc.git python: Permit passing family to database enumerator Signed-off-by: Michael Tremer --- diff --git a/src/python/database.c b/src/python/database.c index 0aa03cc..f8bd94d 100644 --- a/src/python/database.c +++ b/src/python/database.c @@ -209,7 +209,8 @@ static PyObject* new_database_enumerator(PyTypeObject* type, struct loc_database return (PyObject*)self; } -static PyObject* Database_iterate_all(DatabaseObject* self, enum loc_database_enumerator_mode what, int flags) { +static PyObject* Database_iterate_all(DatabaseObject* self, + enum loc_database_enumerator_mode what, int family, int flags) { struct loc_database_enumerator* enumerator; int r = loc_database_enumerator_new(&enumerator, self->db, what, flags); @@ -218,6 +219,10 @@ static PyObject* Database_iterate_all(DatabaseObject* self, enum loc_database_en return NULL; } + // Set family + if (family) + loc_database_enumerator_set_family(enumerator, family); + PyObject* obj = new_database_enumerator(&DatabaseEnumeratorType, enumerator); loc_database_enumerator_unref(enumerator); @@ -225,7 +230,7 @@ static PyObject* Database_iterate_all(DatabaseObject* self, enum loc_database_en } static PyObject* Database_ases(DatabaseObject* self) { - return Database_iterate_all(self, LOC_DB_ENUMERATE_ASES, 0); + return Database_iterate_all(self, LOC_DB_ENUMERATE_ASES, AF_UNSPEC, 0); } static PyObject* Database_search_as(DatabaseObject* self, PyObject* args) { @@ -252,11 +257,12 @@ static PyObject* Database_search_as(DatabaseObject* self, PyObject* args) { } static PyObject* Database_networks(DatabaseObject* self) { - return Database_iterate_all(self, LOC_DB_ENUMERATE_NETWORKS, 0); + return Database_iterate_all(self, LOC_DB_ENUMERATE_NETWORKS, AF_UNSPEC, 0); } static PyObject* Database_networks_flattened(DatabaseObject *self) { - return Database_iterate_all(self, LOC_DB_ENUMERATE_NETWORKS, LOC_DB_ENUMERATOR_FLAGS_FLATTEN); + return Database_iterate_all(self, LOC_DB_ENUMERATE_NETWORKS, AF_UNSPEC, + LOC_DB_ENUMERATOR_FLAGS_FLATTEN); } static PyObject* Database_search_networks(DatabaseObject* self, PyObject* args, PyObject* kwargs) { @@ -417,7 +423,7 @@ static PyObject* Database_search_networks(DatabaseObject* self, PyObject* args, } static PyObject* Database_countries(DatabaseObject* self) { - return Database_iterate_all(self, LOC_DB_ENUMERATE_COUNTRIES, 0); + return Database_iterate_all(self, LOC_DB_ENUMERATE_COUNTRIES, AF_UNSPEC, 0); } static struct PyMethodDef Database_methods[] = {