From a92adad306bf49ee9f52fcd5907602ae1b30667e Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 8 Jan 2018 16:59:30 +0000 Subject: [PATCH] python: Implement adding networks to Writer Signed-off-by: Michael Tremer --- src/python/writer.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) 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, -- 2.39.2