]> git.ipfire.org Git - people/ms/libloc.git/blobdiff - src/python/locationmodule.c
python: Expose version of the module
[people/ms/libloc.git] / src / python / locationmodule.c
index f4ea6cf6602000c66193740dc503c85cca8178c1..dcb5a47560d174565c1e01c609d395087af23b69 100644 (file)
 */
 
 #include <Python.h>
+#include <syslog.h>
 
 #include "locationmodule.h"
 #include "as.h"
 #include "database.h"
+#include "network.h"
 #include "writer.h"
 
 PyMODINIT_FUNC PyInit_location(void);
@@ -29,7 +31,24 @@ static void location_free(void) {
                loc_unref(loc_ctx);
 }
 
+static PyObject* set_log_level(PyObject* m, PyObject* args) {
+       int priority = LOG_INFO;
+
+       if (!PyArg_ParseTuple(args, "i", &priority))
+               return NULL;
+
+       loc_set_log_priority(loc_ctx, priority);
+
+       Py_RETURN_NONE;
+}
+
 static PyMethodDef location_module_methods[] = {
+       {
+               "set_log_level",
+               (PyCFunction)set_log_level,
+               METH_VARARGS,
+               NULL,
+       },
        { NULL },
 };
 
@@ -66,6 +85,20 @@ PyMODINIT_FUNC PyInit_location(void) {
        Py_INCREF(&DatabaseType);
        PyModule_AddObject(m, "Database", (PyObject *)&DatabaseType);
 
+       // Database Enumerator
+       if (PyType_Ready(&DatabaseEnumeratorType) < 0)
+               return NULL;
+
+       Py_INCREF(&DatabaseEnumeratorType);
+       //PyModule_AddObject(m, "DatabaseEnumerator", (PyObject *)&DatabaseEnumeratorType);
+
+       // Network
+       if (PyType_Ready(&NetworkType) < 0)
+               return NULL;
+
+       Py_INCREF(&NetworkType);
+       PyModule_AddObject(m, "Network", (PyObject *)&NetworkType);
+
        // Writer
        if (PyType_Ready(&WriterType) < 0)
                return NULL;
@@ -73,5 +106,11 @@ PyMODINIT_FUNC PyInit_location(void) {
        Py_INCREF(&WriterType);
        PyModule_AddObject(m, "Writer", (PyObject *)&WriterType);
 
+       // Add constants
+       PyObject* d = PyModule_GetDict(m);
+
+       // Version
+       PyDict_SetItemString(d, "__version__", PyUnicode_FromString(VERSION));
+
        return m;
 }