Browse Source

[Review] Refacto, tests, typos

monf 8 years ago
parent
commit
f503f072ce

+ 5 - 5
Tests/test_neuron_launcher.py

@@ -150,35 +150,35 @@ class TestNeuronLauncher(unittest.TestCase):
         string_parameters = "this is a {{ parameter1 }}"
         loaded_parameters = {"parameter1": "value"}
 
-        self.assertTrue(NeuronLauncher.neuron_parameters_are_available_in_loaded_parameters(string_parameters,
+        self.assertTrue(NeuronLauncher._neuron_parameters_are_available_in_loaded_parameters(string_parameters,
                                                                                             loaded_parameters))
 
         # the parameter in bracket is NOT available in the dict
         string_parameters = "this is a {{ parameter1 }}"
         loaded_parameters = {"parameter2": "value"}
 
-        self.assertFalse(NeuronLauncher.neuron_parameters_are_available_in_loaded_parameters(string_parameters,
+        self.assertFalse(NeuronLauncher._neuron_parameters_are_available_in_loaded_parameters(string_parameters,
                                                                                              loaded_parameters))
 
         # the string_parameters doesn't contains bracket in bracket is available in the dict
         string_parameters = "this is a {{ parameter1 }}"
         loaded_parameters = {"parameter1": "value"}
 
-        self.assertTrue(NeuronLauncher.neuron_parameters_are_available_in_loaded_parameters(string_parameters,
+        self.assertTrue(NeuronLauncher._neuron_parameters_are_available_in_loaded_parameters(string_parameters,
                                                                                             loaded_parameters))
 
         # the string_parameters contains 2 parameters available in the dict
         string_parameters = "this is a {{ parameter1 }} and this is {{ parameter2 }}"
         loaded_parameters = {"parameter1": "value", "parameter2": "other value"}
 
-        self.assertTrue(NeuronLauncher.neuron_parameters_are_available_in_loaded_parameters(string_parameters,
+        self.assertTrue(NeuronLauncher._neuron_parameters_are_available_in_loaded_parameters(string_parameters,
                                                                                             loaded_parameters))
 
         # the string_parameters contains 2 parameters and one of them is not available in the dict
         string_parameters = "this is a {{ parameter1 }} and this is {{ parameter2 }}"
         loaded_parameters = {"parameter1": "value", "parameter3": "other value"}
 
-        self.assertFalse(NeuronLauncher.neuron_parameters_are_available_in_loaded_parameters(string_parameters,
+        self.assertFalse(NeuronLauncher._neuron_parameters_are_available_in_loaded_parameters(string_parameters,
                                                                                              loaded_parameters))
 
 

+ 1 - 2
brain_examples/neurotransmitter.yml

@@ -77,8 +77,7 @@
           lang: "fr"
           temp_unit: "celsius"
           country: "FR"
-          args:
-            - location
+          location: "{{location}}"
           say_template:
           - "Aujourd'hui a {{ location }} le temps est {{ weather_today }} avec une température de {{ temp_today_temp }} degrés et demain le temps sera {{ weather_tomorrow }} avec une température de {{ temp_tomorrow_temp }} degrés"
 

+ 1 - 2
brain_examples/openweathermap.yml

@@ -8,8 +8,7 @@
           lang: "fr"
           temp_unit: "celsius"
           country: "FR"
-          args:
-            - location
+          location: "{{location}}"
           say_template:
           - "Aujourd'hui a {{ location }} le temps est {{ weather_today }} avec une température de {{ temp_today_temp }} degrés et demain le temps sera {{ weather_tomorrow }} avec une température de {{ temp_tomorrow_temp }} degrés"
 

+ 0 - 2
brain_examples/twitter.yml

@@ -11,5 +11,3 @@
           access_token_secret: ""
           say_template:
           - "voici le tweet {{ tweet }}"
-          args:
-            - tweet

+ 1 - 2
brain_examples/wikipedia.yml

@@ -7,6 +7,5 @@
       - wikipedia_searcher:
           language: "fr"
           sentences: 1
-          args:
-            - query
+          query: "{{query}}"
           file_template: "templates/wikipedia_returned_value.j2"

+ 7 - 13
kalliope/core/NeuronLauncher.py

@@ -63,14 +63,14 @@ class NeuronLauncher:
         by the value specified in the loaded_parameters dict.
         This method will call itself until all values has been instantiated
         :param neuron_parameters: value to instantiate. Str or dict or list
-        :param loaded_parameters: dict of 
-        :return: 
+        :param loaded_parameters: dict of parameters
         """
+        logger.debug("[NeuronLauncher] replacing brackets from %s, using %s" % (str(neuron_parameters),str(loaded_parameters)))
         if isinstance(neuron_parameters, str) or isinstance(neuron_parameters, unicode):
             # 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
-                if cls.neuron_parameters_are_available_in_loaded_parameters(neuron_parameters, loaded_parameters):
+                if cls._neuron_parameters_are_available_in_loaded_parameters(neuron_parameters, loaded_parameters):
                     neuron_parameters = jinja2.Template(neuron_parameters).render(loaded_parameters)
                     return str(neuron_parameters)
                 else:
@@ -92,8 +92,8 @@ class NeuronLauncher:
         # in all other case (boolean or int for example) we return the value as it
         return neuron_parameters
 
-    @classmethod
-    def neuron_parameters_are_available_in_loaded_parameters(cls, string_parameters, loaded_parameters):
+    @staticmethod
+    def _neuron_parameters_are_available_in_loaded_parameters(string_parameters, loaded_parameters):
         """
         Check that all parameters in brackets are available in the loaded_parameters dict
         
@@ -109,16 +109,10 @@ class NeuronLauncher:
         """
         list_parameters_with_brackets = Utils.find_all_matching_brackets(string_parameters)
         # remove brackets to keep only the parameter name
-        list_parameters = list()
         for parameter_with_brackets in list_parameters_with_brackets:
             parameter = Utils.remove_spaces_in_brackets(parameter_with_brackets)
             parameter = parameter.replace("{{", "").replace("}}", "")
-            list_parameters.append(parameter)
-
-        # check that the parameter name is available in the loaded_parameters dict
-        for parameters in list_parameters:
-            if loaded_parameters is None or parameters not in loaded_parameters:
-                Utils.print_danger("The parameter %s is not available in the order" % str(parameters))
+            if loaded_parameters is None or parameter not in loaded_parameters:
+                Utils.print_danger("The parameter %s is not available in the order" % str(parameter))
                 return False
-
         return True