From 364d1bb6aa74e1b7a7bcb38312c4689724a43fb7 Mon Sep 17 00:00:00 2001
From: Ramin Yaghoubzadeh Torky <r.y.t@web.de>
Date: Tue, 26 Nov 2019 01:01:30 +0100
Subject: [PATCH] Worked out some kinks to get it to run in py3

---
 ipaacalib/python/src/ipaaca/backend_mqtt.py |  8 ++++----
 ipaacalib/python/src/ipaaca/misc.py         |  9 +++++++++
 ipaacalib/python/src/ipaaca/util/logger.py  | 14 +++++++-------
 ipaacalib/python/src/run.py                 |  2 +-
 4 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/ipaacalib/python/src/ipaaca/backend_mqtt.py b/ipaacalib/python/src/ipaaca/backend_mqtt.py
index 73337fe..b79411d 100644
--- a/ipaacalib/python/src/ipaaca/backend_mqtt.py
+++ b/ipaacalib/python/src/ipaaca/backend_mqtt.py
@@ -100,7 +100,7 @@ else:
             self._client_id += '_' + scope
             self._mqtt_client = mqtt.Client(self._client_id)
             self._host = config.get_with_default('transport.mqtt.host', 'localhost', warn=True)
-            self._port = config.get_with_default('transport.mqtt.port', 1883, warn=True)
+            self._port = int(config.get_with_default('transport.mqtt.port', 1883, warn=True))
             self._mqtt_client.on_connect = self.mqtt_callback_on_connect
             self._mqtt_client.on_disconnect = self.mqtt_callback_on_disconnect
             self._mqtt_client.on_message = self.mqtt_callback_on_message
@@ -158,7 +158,7 @@ else:
             self._client_id += '_' + scope
             self._mqtt_client = mqtt.Client(self._client_id)
             self._host = config.get_with_default('transport.mqtt.host', 'localhost', warn=True)
-            self._port = config.get_with_default('transport.mqtt.port', 1883, warn=True)
+            self._port = int(config.get_with_default('transport.mqtt.port', 1883, warn=True))
             self._mqtt_client.on_connect = self.mqtt_callback_on_connect
             self._mqtt_client.on_disconnect = self.mqtt_callback_on_disconnect
             self._mqtt_client.on_message = self.mqtt_callback_on_message
@@ -222,7 +222,7 @@ else:
             self._client_id += '_' + scope
             self._mqtt_client = mqtt.Client(self._client_id)
             self._host = config.get_with_default('transport.mqtt.host', 'localhost', warn=True)
-            self._port = config.get_with_default('transport.mqtt.port', 1883, warn=True)
+            self._port = int(config.get_with_default('transport.mqtt.port', 1883, warn=True))
             self._mqtt_client.on_connect = self.mqtt_callback_on_connect
             self._mqtt_client.on_disconnect = self.mqtt_callback_on_disconnect
             self._mqtt_client.on_message = self.mqtt_callback_on_message
@@ -310,7 +310,7 @@ else:
             self._client_id += '_' + remote_end_scope
             self._mqtt_client = mqtt.Client(self._client_id)
             self._host = config.get_with_default('transport.mqtt.host', 'localhost', warn=True)
-            self._port = config.get_with_default('transport.mqtt.port', 1883, warn=True)
+            self._port = int(config.get_with_default('transport.mqtt.port', 1883, warn=True))
             self._mqtt_client.on_connect = self.mqtt_callback_on_connect
             self._mqtt_client.on_disconnect = self.mqtt_callback_on_disconnect
             self._mqtt_client.on_message = self.mqtt_callback_on_message
diff --git a/ipaacalib/python/src/ipaaca/misc.py b/ipaacalib/python/src/ipaaca/misc.py
index 1df80d3..2ea98ab 100644
--- a/ipaacalib/python/src/ipaaca/misc.py
+++ b/ipaacalib/python/src/ipaaca/misc.py
@@ -35,9 +35,18 @@ from __future__ import division, print_function
 
 import argparse
 import logging
+import sys
 
 import ipaaca.defaults
 
+IS_PY2 = sys.version_info[0] == 2
+IS_PY3 = sys.version_info[0] == 3
+
+if IS_PY3:
+	string_types = str
+else:
+	string_types = basestring
+
 
 __all__ = [
 	'enum',
diff --git a/ipaacalib/python/src/ipaaca/util/logger.py b/ipaacalib/python/src/ipaaca/util/logger.py
index d8c4852..d029e13 100644
--- a/ipaacalib/python/src/ipaaca/util/logger.py
+++ b/ipaacalib/python/src/ipaaca/util/logger.py
@@ -124,7 +124,7 @@ def logger_set_log_level(level=LogLevel.DEBUG):
 	with LOGGER_LOCK:
 		if level in LogLevel._values:
 			CURRENT_LOG_LEVEL = level
-		elif isinstance(level, basestring) and level.upper() in LOG_LEVEL_FROM_STRING_DICT:
+		elif isinstance(level, ipaaca.misc.string_types) and level.upper() in LOG_LEVEL_FROM_STRING_DICT:
 			CURRENT_LOG_LEVEL = LOG_LEVEL_FROM_STRING_DICT[level.upper()]
 		else:
 			pass # leave previous setting untouched
@@ -152,13 +152,13 @@ def LOG_IPAACA(lvl, text, now=0.0, fn='???', thread='???'):
 				+ traceback.format_exc())
 
 
-def LOG_CONSOLE(lvlstr, msg, fn_markup='', msg_markup='', now=0.0, fn='???', thread='???'):
-	if isinstance(msg, basestring):
+def LOG_CONSOLE(lvlstr, msg, fn_markup='\033[38;5;142m', msg_markup='', now=0.0, fn='???', thread='???'):
+	if isinstance(msg, ipaaca.misc.string_types):
 		lines = msg.split('\n')
 	else:
 		lines = [msg]
 	for line in lines:
-		text = lvlstr+' '+thread+' '+fn_markup+fn+''+' '+msg_markup+str(line)+''
+		text = lvlstr+' '+thread+' '+fn_markup+fn+'\033[m'+' '+msg_markup+str(line)+'\033[m'
 		print(text)
 		fn = ' '*len(fn)
 
@@ -172,7 +172,7 @@ def LOG_ERROR(msg, now=None):
 	thread = threading.current_thread().getName()
 	with LOGGER_LOCK:
 		if SEND_IPAACA_LOGS: LOG_IPAACA('ERROR', msg, now=now, fn=fn, thread=thread)
-		LOG_CONSOLE('[ERROR]', msg, fn_markup='', msg_markup='', now=now, fn=fn, thread=thread)
+		LOG_CONSOLE('\033[38;5;9;1;4m[ERROR]\033[m', msg, fn_markup='\033[38;5;203m', msg_markup='\033[38;5;9;1;4m', now=now, fn=fn, thread=thread)
 
 
 def LOG_WARN(msg, now=None):
@@ -184,7 +184,7 @@ def LOG_WARN(msg, now=None):
 	thread = threading.current_thread().getName()
 	with LOGGER_LOCK:
 		if SEND_IPAACA_LOGS: LOG_IPAACA('WARN', msg, now=now, fn=fn, thread=thread)
-		LOG_CONSOLE('[WARN] ', msg, fn_markup='', msg_markup='', now=now, fn=fn, thread=thread)
+		LOG_CONSOLE('\033[38;5;208;1m[WARN]\033[m ', msg, fn_markup='\033[38;5;214m', msg_markup='\033[38;5;208;1m', now=now, fn=fn, thread=thread)
 
 
 LOG_WARNING = LOG_WARN
@@ -211,7 +211,7 @@ def LOG_DEBUG(msg, now=None):
 	thread = threading.current_thread().getName()
 	with LOGGER_LOCK:
 		if SEND_IPAACA_LOGS: LOG_IPAACA('DEBUG', msg, now=now, fn=fn, thread=thread)
-		LOG_CONSOLE('[DEBUG]', msg, fn_markup='', msg_markup='', now=now, fn=fn, thread=thread)
+		LOG_CONSOLE('\033[2m[DEBUG]\033[m', msg, fn_markup='\033[38;5;144m', msg_markup='\033[38;5;248m', now=now, fn=fn, thread=thread)
 
 
 class LoggerComponent(object):
diff --git a/ipaacalib/python/src/run.py b/ipaacalib/python/src/run.py
index e4f4db2..145dd2c 100755
--- a/ipaacalib/python/src/run.py
+++ b/ipaacalib/python/src/run.py
@@ -2,5 +2,5 @@
 
 import ipaaca
 
-print "{this is the IpaacaPython run.py doing nothing at all}"
+print("{this is the IpaacaPython run.py doing nothing at all}")
 
-- 
GitLab