示例#1
0
    def test_add_parameters_from_order(self):

        order_parameters = {"key1": "value1", "key2": "value2"}

        expected_temp_dict = {"key1": "value1", "key2": "value2"}

        Cortex.add_parameters_from_order(order_parameters)
        self.assertDictEqual(Cortex.temp, expected_temp_dict)
示例#2
0
    def start_synapse_by_list_name(cls,
                                   list_name,
                                   brain=None,
                                   overriding_parameter_dict=None,
                                   new_lifo=False):
        """
        Start synapses by their name
        :param list_name: List of name of the synapse to launch
        :param brain: Brain instance
        :param overriding_parameter_dict: parameter to pass to neurons
        :param new_lifo: If True, ask the LifoManager to return a new lifo and not the singleton
        """
        logger.debug(
            "[SynapseLauncher] start_synapse_by_list_name called with synapse list: %s "
            % list_name)

        if list_name:
            if brain is None:
                brain = BrainLoader().brain

            if overriding_parameter_dict:
                # this dict is used by signals to pass parameter to neuron,
                # save in temp memory in case the user want to save in kalliope memory
                Cortex.add_parameters_from_order(overriding_parameter_dict)

            # get all synapse object
            list_synapse_object_to_start = list()
            for name in list_name:
                synapse_to_start = brain.get_synapse_by_name(synapse_name=name)
                if not synapse_to_start:
                    raise SynapseNameNotFound(
                        "[SynapseLauncher] The synapse name \"%s\" does not exist "
                        "in the brain file" % name)
                if synapse_to_start.enabled:
                    list_synapse_object_to_start.append(synapse_to_start)
                else:
                    logger.debug(
                        "[SynapseLauncher] Synapse not activated: %s " %
                        synapse_to_start)

            # run the LIFO with all synapse
            if new_lifo:
                lifo_buffer = LifoManager.get_new_lifo()
            else:
                lifo_buffer = LifoManager.get_singleton_lifo()
            list_synapse_to_process = list()
            for synapse in list_synapse_object_to_start:
                if synapse is not None:
                    new_matching_synapse = MatchedSynapse(
                        matched_synapse=synapse,
                        matched_order=None,
                        user_order=None,
                        overriding_parameter=overriding_parameter_dict)
                    list_synapse_to_process.append(new_matching_synapse)

            lifo_buffer.add_synapse_list_to_lifo(list_synapse_to_process)
            return lifo_buffer.execute(is_api_call=True)
        return None
示例#3
0
    def test_add_parameters_from_order(self):

        order_parameters = {
            "key1": "value1",
            "key2": "value2"
        }

        expected_temp_dict = {
            "key1": "value1",
            "key2": "value2"
        }

        Cortex.add_parameters_from_order(order_parameters)
        self.assertDictEqual(Cortex.temp, expected_temp_dict)
 def get_parameters(cls, synapse_order, user_order):
     """
     Class method to get all params coming from a string order. Returns a dict of key/value.
     """
     params = dict()
     if Utils.is_containing_bracket(synapse_order):
         params = cls._associate_order_params_to_values(
             user_order, synapse_order)
         logger.debug(
             "[NeuronParameterLoader.get_parameters]Parameters for order: %s"
             % params)
         # we place the dict of parameters load from order into a cache in Cortex so the user can save it later
         Cortex.add_parameters_from_order(params)
     return params