Skip to content
Snippets Groups Projects
Commit 4929bde2 authored by alexey.stratulat's avatar alexey.stratulat
Browse files

Added checks for successful opening of the configuration file and...

Added checks for successful opening of the configuration file and initialization of dap_common. The function of setting the logging level is also added.
parent d1074376
No related branches found
No related tags found
No related merge requests found
#include "libdap-python.h" #include "libdap-python.h"
static PyObject *dap_init(PyObject *self, PyObject *args) static PyObject *dap_init(PyObject *self, PyObject *args){
{
const char *data; const char *data;
char *system_configs_dir; char *system_configs_dir;
char *dap_app_name; char *dap_app_name;
...@@ -12,13 +11,10 @@ static PyObject *dap_init(PyObject *self, PyObject *args) ...@@ -12,13 +11,10 @@ static PyObject *dap_init(PyObject *self, PyObject *args)
int lenDapAppName=0; int lenDapAppName=0;
int countSeparators=0; int countSeparators=0;
int lenMassives = 0; int lenMassives = 0;
while (*(data+lenMassives) != '\0') while (*(data+lenMassives) != '\0'){
{ if (*(data+lenMassives)=='\n'){
if (*(data+lenMassives)=='\n')
{
countSeparators += 1; countSeparators += 1;
} }else {
else {
if (countSeparators == 0) if (countSeparators == 0)
lenSystemConfigDir++; lenSystemConfigDir++;
if (countSeparators == 1) if (countSeparators == 1)
...@@ -35,20 +31,56 @@ static PyObject *dap_init(PyObject *self, PyObject *args) ...@@ -35,20 +31,56 @@ static PyObject *dap_init(PyObject *self, PyObject *args)
const char* log = "_logs.txt"; const char* log = "_logs.txt";
memcpy(dap_app_name_logs+lenDapAppName, log,9); memcpy(dap_app_name_logs+lenDapAppName, log,9);
dap_config_init(system_configs_dir); dap_config_init(system_configs_dir);
dap_config_open(dap_app_name); if ((g_config = dap_config_open(dap_app_name) ) == NULL){
dap_common_init(dap_app_name_logs); log_it(L_CRITICAL, "Can't init general configurations");
return PyLong_FromLong(-1);
}
if (dap_common_init(dap_app_name_logs)!=0){
log_it(L_CRITICAL, "Can't init common functions module");
return PyLong_FromLong(-2);
}
dap_log_level_set( dap_config_get_item_bool_default(g_config,"general","debug_mode", false)? L_DEBUG: L_NOTICE );
return PyLong_FromLong(0); return PyLong_FromLong(0);
} }
static PyObject *dap_deinit(PyObject *self) static PyObject *dap_deinit(PyObject *self){
{
dap_config_deinit(); dap_config_deinit();
dap_common_deinit(); dap_common_deinit();
return PyLong_FromLong(0); return PyLong_FromLong(0);
} }
PyMODINIT_FUNC PyInit_libdap_python_module(void) static PyObject *dap_set_log_level(PyObject *self, PyObject *args){
{ const char *data;
if (!PyArg_ParseTuple(args, "s", &data))
return NULL;
if (strcmp(data,"DEBUG") == 0){
dap_log_level_set(L_DEBUG);
return PyLong_FromLong(0);
}
if (strcmp(data, "INFO") == 0){
dap_log_level_set(L_INFO);
return PyLong_FromLong(0);
}
if (strcmp(data, "NOTICE") == 0){
dap_log_level_set(L_NOTICE);
return PyLong_FromLong(0);
}
if (strcmp(data, "WARNING") == 0){
dap_log_level_set(L_WARNING);
return PyLong_FromLong(0);
}
if (strcmp(data, "ERROR") == 0){
dap_log_level_set(L_ERROR);
return PyLong_FromLong(0);
}
if (strcmp(data, "CRITICAL") == 0){
dap_log_level_set(L_CRITICAL);
return PyLong_FromLong(0);
}
return PyLong_FromLong(-1);
}
PyMODINIT_FUNC PyInit_libdap_python_module(void){
return PyModule_Create(&dapmodule); return PyModule_Create(&dapmodule);
} }
......
...@@ -7,13 +7,18 @@ ...@@ -7,13 +7,18 @@
extern "C" { extern "C" {
#endif #endif
#define LOG_TAG "libdap-python"
static PyObject *dap_init(PyObject *self, PyObject *args); static PyObject *dap_init(PyObject *self, PyObject *args);
static PyObject *dap_deinit(PyObject *self); static PyObject *dap_deinit(PyObject *self);
static PyObject *dap_set_log_level(PyObject *self, PyObject *args);
static PyMethodDef DapMethods[] = { static PyMethodDef DapMethods[] = {
{"init", dap_init, METH_VARARGS, "Initialization of the DAP (Deus Applicaions Prototypes) library"}, {"init", dap_init, METH_VARARGS, "Initialization of the DAP (Deus Applicaions Prototypes) library"},
{"deinit", dap_deinit, METH_NOARGS, "Deinitialization of the DAP (Deus Applicaions Prototypes) library"}, {"deinit", dap_deinit, METH_NOARGS, "Deinitialization of the DAP (Deus Applicaions Prototypes) library"},
{"setLogLevel", dap_set_log_level, METH_VARARGS, "Setting the logging level"},
{NULL, NULL, 0, NULL} {NULL, NULL, 0, NULL}
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment