// Create network object
int r = loc_writer_add_network(self->writer, &network, string);
- if (r)
+ if (r) {
+ switch (r) {
+ case -EINVAL:
+ PyErr_SetString(PyExc_ValueError, "Invalid network");
+ break;
+
+ case -EBUSY:
+ PyErr_SetString(PyExc_IndexError, "A network already exists here");
+ break;
+ }
+
return NULL;
+ }
PyObject* obj = new_network(&NetworkType, network);
loc_network_unref(network);
PyTypeObject WriterType = {
PyVarObject_HEAD_INIT(NULL, 0)
- tp_name: "location.Writer",
- tp_basicsize: sizeof(WriterObject),
- tp_flags: Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE,
- tp_new: Writer_new,
- tp_dealloc: (destructor)Writer_dealloc,
- tp_init: (initproc)Writer_init,
- tp_doc: "Writer object",
- tp_methods: Writer_methods,
- tp_getset: Writer_getsetters,
+ .tp_name = "location.Writer",
+ .tp_basicsize = sizeof(WriterObject),
+ .tp_flags = Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE,
+ .tp_new = Writer_new,
+ .tp_dealloc = (destructor)Writer_dealloc,
+ .tp_init = (initproc)Writer_init,
+ .tp_doc = "Writer object",
+ .tp_methods = Writer_methods,
+ .tp_getset = Writer_getsetters,
};