From: Michael Tremer Date: Mon, 8 Jan 2018 16:59:30 +0000 (+0000) Subject: python: Implement adding networks to Writer X-Git-Tag: 0.9.0~114 X-Git-Url: http://git.ipfire.org/?p=people%2Fms%2Flibloc.git;a=commitdiff_plain;h=a92adad306bf49ee9f52fcd5907602ae1b30667e python: Implement adding networks to Writer Signed-off-by: Michael Tremer --- diff --git a/src/python/writer.c b/src/python/writer.c index f7bcb62..9a37b0e 100644 --- a/src/python/writer.c +++ b/src/python/writer.c @@ -21,6 +21,7 @@ #include "locationmodule.h" #include "as.h" +#include "network.h" #include "writer.h" static PyObject* Writer_new(PyTypeObject* type, PyObject* args, PyObject* kwds) { @@ -99,6 +100,24 @@ static PyObject* Writer_add_as(WriterObject* self, PyObject* args) { return obj; } +static PyObject* Writer_add_network(WriterObject* self, PyObject* args) { + struct loc_network* network; + const char* string = NULL; + + if (!PyArg_ParseTuple(args, "s", &string)) + return NULL; + + // Create network object + int r = loc_writer_add_network(self->writer, &network, string); + if (r) + return NULL; + + PyObject* obj = new_network(&NetworkType, network); + loc_network_unref(network); + + return obj; +} + static PyObject* Writer_write(WriterObject* self, PyObject* args) { const char* path = NULL; @@ -130,6 +149,12 @@ static struct PyMethodDef Writer_methods[] = { METH_VARARGS, NULL, }, + { + "add_network", + (PyCFunction)Writer_add_network, + METH_VARARGS, + NULL, + }, { "write", (PyCFunction)Writer_write,