浏览代码

Use six.text_type instead of unicode

Julien Schueller 8 年之前
父节点
当前提交
78c6aa1155

+ 2 - 1
kalliope/core/ConfigurationManager/BrainLoader.py

@@ -2,6 +2,7 @@ import inspect
 import logging
 import os
 from six import with_metaclass
+import six
 
 from .YAMLLoader import YAMLLoader
 from kalliope.core.Utils import Utils
@@ -260,7 +261,7 @@ class BrainLoader(with_metaclass(Singleton, object)):
             for el in parameter:
                 new_parameter_list.append(cls._replace_global_variables(el, settings=settings))
             return new_parameter_list
-        if isinstance(parameter, str) or isinstance(parameter, unicode) or isinstance(parameter, int):
+        if isinstance(parameter, str) or isinstance(parameter, six.text_type) or isinstance(parameter, int):
             if Utils.is_containing_bracket(parameter):
                 return cls._get_global_variable(sentence=parameter, settings=settings)
             return parameter

+ 2 - 2
kalliope/core/NeuronLauncher.py

@@ -1,5 +1,5 @@
 import logging
-
+import six
 import jinja2
 
 from kalliope.core.Utils.Utils import Utils
@@ -66,7 +66,7 @@ class NeuronLauncher:
         :param loaded_parameters: dict of parameters
         """
         logger.debug("[NeuronLauncher] replacing brackets from %s, using %s" % (neuron_parameters, loaded_parameters))
-        if isinstance(neuron_parameters, str) or isinstance(neuron_parameters, unicode):
+        if isinstance(neuron_parameters, str) or isinstance(neuron_parameters, six.text_type):
             # replace bracket parameter only if the str contains brackets
             if Utils.is_containing_bracket(neuron_parameters):
                 # check that the parameter to replace is available in the loaded_parameters dict

+ 4 - 8
kalliope/core/NeuronModule.py

@@ -2,6 +2,7 @@
 import logging
 import random
 import sys
+import six
 
 from jinja2 import Template
 
@@ -133,14 +134,9 @@ class NeuronModule(object):
 
         tts_message = None
 
-        if sys.version_info[0] >= 3:
-            if isinstance(message, bytes) or isinstance(message, str):
-                logger.debug("message is string")
-                tts_message = message
-        else:
-            if isinstance(message, str) or isinstance(message, unicode):
-                logger.debug("message is string")
-                tts_message = message
+        if isinstance(message, str) or isinstance(message, six.text_type):
+            logger.debug("message is string")
+            tts_message = message
 
 
         if isinstance(message, list):

+ 3 - 6
kalliope/core/TTS/TTSModule.py

@@ -3,6 +3,7 @@ import hashlib
 import logging
 import os
 import sys
+import six
 
 from kalliope.core.ConfigurationManager import SettingLoader
 from kalliope.core.Players import Mplayer
@@ -133,12 +134,8 @@ class TTSModule(object):
         :param words: Text to convert into md5 hash
         :return: String md5 hash from the received words
         """
-        if sys.version_info[0] >= 3:
-            if isinstance(words, str):
-                words = words.encode('utf-8')
-        else:
-            if isinstance(words, unicode):
-                words = words.encode('utf-8')
+        if isinstance(words, six.text_type):
+            words = words.encode('utf-8')
         return hashlib.md5(words).hexdigest()
 
     @staticmethod

+ 4 - 3
kalliope/core/Utils/Utils.py

@@ -3,6 +3,7 @@ import os
 import inspect
 import imp
 import re
+import six
 
 logging.basicConfig()
 logger = logging.getLogger("kalliope")
@@ -240,7 +241,7 @@ class Utils(object):
         # print "sentence to test %s" % sentence
         pattern = r"{{|}}"
         # prog = re.compile(pattern)
-        if not isinstance(sentence, unicode):
+        if not isinstance(sentence, six.text_type):
             sentence = str(sentence)
         check_bool = re.search(pattern, sentence)
         if check_bool is not None:
@@ -257,7 +258,7 @@ class Utils(object):
 
         pattern = r"((?:{{\s*)[\w\.]+(?:\s*}}))"
         # find everything like {{ word }}
-        if not isinstance(sentence, unicode):
+        if not isinstance(sentence, six.text_type):
             sentence = str(sentence)
         return re.findall(pattern, sentence)
 
@@ -271,7 +272,7 @@ class Utils(object):
 
         pattern = '\s+(?=[^\{\{\}\}]*\}\})'
         # Remove white spaces (if any) between the variable and the double brace then split
-        if not isinstance(sentence, unicode):
+        if not isinstance(sentence, six.text_type):
             sentence = str(sentence)
         return re.sub(pattern, '', sentence)
 

+ 2 - 1
kalliope/neurons/sleep/sleep.py

@@ -1,4 +1,5 @@
 import time
+import six
 
 from kalliope.core.NeuronModule import NeuronModule,  MissingParameterException
 
@@ -12,7 +13,7 @@ class Sleep(NeuronModule):
         if self._is_parameters_ok():
 
             if isinstance(self.seconds, str) or \
-                    isinstance(self.seconds, unicode):
+                    isinstance(self.seconds, six.text_type):
                 self.seconds = float(self.seconds)
 
             time.sleep(self.seconds)