From 1a07d9fcdcdd3cb1c763b3afaea2fa37b485b309 Mon Sep 17 00:00:00 2001
From: Alexey Stratulat <alexey.stratulat@demlabs.net>
Date: Tue, 6 Aug 2019 21:07:30 +0700
Subject: [PATCH] [*] Updated wrapping libdap-python. Added support for a
 modified version of libdap as of 08/06/2019

---
 .gitmodules            |  4 ++--
 libdap                 |  2 +-
 libdap-crypto          |  2 +-
 src/libdap-python.c    | 12 ++++++------
 src/libdapConnector.py | 18 +++++++++++-------
 test/main_test.py      |  8 +++-----
 6 files changed, 24 insertions(+), 22 deletions(-)

diff --git a/.gitmodules b/.gitmodules
index 9fc229b..565820f 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,6 @@
 [submodule "libdap"]
 	path = libdap
-	url = https://github.com/cellframe/libdap.git
+	url = https://gitlab.demlabs.net/cellframe/libdap.git
 [submodule "libdap-crypto"]
 	path = libdap-crypto
-	url = https://github.com/cellframe/libdap-crypto.git
+	url = https://gitlab.demlabs.net/cellframe/libdap-crypto.git
diff --git a/libdap b/libdap
index d37b2aa..38662bc 160000
--- a/libdap
+++ b/libdap
@@ -1 +1 @@
-Subproject commit d37b2aa26d2a7cc068529db343a87fd728904d33
+Subproject commit 38662bc49038185cd57f486accbc6179a163da14
diff --git a/libdap-crypto b/libdap-crypto
index ff63d76..59f3744 160000
--- a/libdap-crypto
+++ b/libdap-crypto
@@ -1 +1 @@
-Subproject commit ff63d762657f9687173db825705b8bf4b958abee
+Subproject commit 59f374440ff97c46fcdaa0739eb9781979e9799b
diff --git a/src/libdap-python.c b/src/libdap-python.c
index 58e4bb5..af57710 100644
--- a/src/libdap-python.c
+++ b/src/libdap-python.c
@@ -12,15 +12,15 @@ static PyObject *dap_init(PyObject *self, PyObject *args){
     memcpy(dap_app_name_logs, dap_app_name, len_dap_app_name);
     const char* log = "_logs.txt";
     memcpy(dap_app_name_logs+len_dap_app_name, log,9);
+    if (dap_common_init(dap_app_name, dap_app_name_logs)!=0){
+        log_it(L_CRITICAL, "Can't init common functions module");
+        return PyLong_FromLong(-2);
+    }
     dap_config_init(system_configs_dir);
     if ((g_config = dap_config_open(dap_app_name) ) == NULL){
         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);
 }
@@ -39,7 +39,7 @@ static PyObject *dap_set_log_level(PyObject *self, PyObject *args){
     short int new_log_level;
     if (!PyArg_ParseTuple(args, "h", &new_log_level))
         return NULL;
-    if (new_log_level < 0 || new_log_level > 5 ) {
+    if (new_log_level < 0 || new_log_level > 10 ) {
         return PyLong_FromLong(-1);
     } else {
         dap_log_level_set(new_log_level);
@@ -52,7 +52,7 @@ static PyObject* dap_log_it(PyObject* self, PyObject* args){
     const char* string_output;
     if (!PyArg_ParseTuple(args, "h|s", &log_level, &string_output))
         return NULL;
-    if (log_level < 0 || log_level > 5 ) {
+    if (log_level < 0 || log_level > 10 ) {
         return PyLong_FromLong(-1);
     } else {
         log_it(log_level, string_output);
diff --git a/src/libdapConnector.py b/src/libdapConnector.py
index b0165a7..3e0924d 100644
--- a/src/libdapConnector.py
+++ b/src/libdapConnector.py
@@ -6,12 +6,16 @@ class DapIniException(Exception):
     pass
 
 class LogLevel(Enum):
-    L_CRITICAL=5
-    L_ERROR=4
-    L_WARNING=3
-    L_NOTICE=2
-    L_INFO=1
-    L_DEBUG=0
+    L_DEBUG     = 0
+    L_INFO      = 1
+    L_NOTICE    = 2
+    L_MSG       = 3
+    L_DAP       = 4
+    L_WARNING   = 5
+    L_ATT       = 6
+    L_ERROR     = 7 
+    L_CRITICAL  = 8
+    L_TOTAL     = 9
 
 def init(data):
     res = json.loads(data)
@@ -24,7 +28,7 @@ def init(data):
         raise DapIniException("Initialization erorr")
     if log_level != LogLevel.L_NOTICE.name:
         setLogLevel(LogLevel[log_level])
-def deInit():
+def deinit():
     libdap_python_module.deinit()
 def setLogLevel(logLevel):
     res_setLogLevel = libdap_python_module.setLogLevel(logLevel.value)
diff --git a/test/main_test.py b/test/main_test.py
index 477febf..e4a1b3c 100644
--- a/test/main_test.py
+++ b/test/main_test.py
@@ -7,12 +7,11 @@ def create_config_file(app_name):
     f.write("[server]\nlisten_address=0.0.0.0\n")
     f.close()
 
-logIt(LogLevel.L_INFO,"Start main test")
+print ("Start main test")
 app_name = "TestAPP"
-logIt(LogLevel.L_INFO, "Create config file")
+print ("Create config file")
 create_config_file(app_name)
 
-
 json_string = """{
     "modules": "",
     "dap": {
@@ -32,11 +31,10 @@ logIt(LogLevel.L_INFO, "Output [server] 'listen_address' = "+res1+"\n")
 res2 = configGetItemDefault("server1", "listen_address", "8.8.8.8")
 logIt(LogLevel.L_INFO, "Output default value '8.8.8.8' [server1] 'listen_address' = "+res2+"\n")
 logIt(LogLevel.L_INFO, "TEST. Get default config done")
-deInit()
 logIt(LogLevel.L_INFO, "Deinitialization done")
 
 os.remove(app_name+".cfg")
 logIt(LogLevel.L_INFO, "Dellete config file")
 logIt(LogLevel.L_INFO, "Main test done");
-
+deinit()
 sys.exit(0)
-- 
GitLab