Browse Source

* fix encoding of python stdout

Dmitry Shapovalov 8 năm trước cách đây
mục cha
commit
6578e88083
1 tập tin đã thay đổi với 13 bổ sung9 xóa
  1. 13 9
      kalliope/core/Utils/Utils.py

+ 13 - 9
kalliope/core/Utils/Utils.py

@@ -6,6 +6,10 @@ logging.basicConfig()
 logger = logging.getLogger("kalliope")
 
 
+def pipe_print(line):
+    print(line.encode('utf-8'))
+
+
 class ModuleNotFoundError(Exception):
     """
     The module can not been found
@@ -35,35 +39,35 @@ class Utils(object):
     #########
     @classmethod
     def print_info(cls, text_to_print):
-        print cls.color_list["BLUE"] + text_to_print + cls.color_list["ENDLINE"]
+        pipe_print(cls.color_list["BLUE"] + text_to_print + cls.color_list["ENDLINE"])
 
     @classmethod
     def print_success(cls, text_to_print):
-        print cls.color_list["GREEN"] + text_to_print + cls.color_list["ENDLINE"]
+        pipe_print(cls.color_list["GREEN"] + text_to_print + cls.color_list["ENDLINE"])
 
     @classmethod
     def print_warning(cls, text_to_print):
-        print cls.color_list["YELLOW"] + text_to_print + cls.color_list["ENDLINE"]
+        pipe_print(cls.color_list["YELLOW"] + text_to_print + cls.color_list["ENDLINE"])
 
     @classmethod
     def print_danger(cls, text_to_print):
-        print cls.color_list["RED"] + text_to_print + cls.color_list["ENDLINE"]
+        pipe_print(cls.color_list["RED"] + text_to_print + cls.color_list["ENDLINE"])
 
     @classmethod
     def print_header(cls, text_to_print):
-        print cls.color_list["HEADER"] + text_to_print + cls.color_list["ENDLINE"]
+        pipe_print(cls.color_list["HEADER"] + text_to_print + cls.color_list["ENDLINE"])
 
     @classmethod
     def print_header(cls, text_to_print):
-        print cls.color_list["PURPLE"] + text_to_print + cls.color_list["ENDLINE"]
+        pipe_print(cls.color_list["PURPLE"] + text_to_print + cls.color_list["ENDLINE"])
 
     @classmethod
     def print_bold(cls, text_to_print):
-        print cls.color_list["BOLD"] + text_to_print + cls.color_list["ENDLINE"]
+        pipe_print(cls.color_list["BOLD"] + text_to_print + cls.color_list["ENDLINE"])
 
     @classmethod
     def print_underline(cls, text_to_print):
-        print cls.color_list["UNDERLINE"] + text_to_print + cls.color_list["ENDLINE"]
+        pipe_print(cls.color_list["UNDERLINE"] + text_to_print + cls.color_list["ENDLINE"])
 
     @staticmethod
     def print_yaml_nicely(to_print):
@@ -73,7 +77,7 @@ class Utils(object):
         :return:
         """
         import json
-        print json.dumps(to_print, indent=2)
+        pipe_print(json.dumps(to_print, indent=2))
 
     ##################
     #