1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- from core.NeuroneLauncher import NeuroneLauncher
- class SynapseNameNotFound(Exception):
- """
- The Synapse has not been found
- .. seealso: Synapse
- """
- pass
- class SynapseLauncher(object):
- def __init__(self):
- pass
- @classmethod
- def start_synapse(cls, name, brain=None):
- """
- Start a synapse by it's name
- :param name: Name (Unique ID) of the synapse to launch
- :param brain: Brain instance
- """
- synapse_name_launch = name
- # get the brain
- cls.brain = brain
- # check if we have found and launched the synapse
- synapse_launched = False
- for synapse in cls.brain.synapses:
- if synapse.name == synapse_name_launch:
- cls._run_synapse(synapse)
- synapse_launched = True
- # we found the synapse, we don't need to check the rest of the list
- break
- if not synapse_launched:
- raise SynapseNameNotFound("The synapse name \"%s\" does not exist in the brain file" % name)
- @classmethod
- def _run_synapse(cls, synapse):
- """
- Start all neurons in the synapse
- :param synapse: Synapse for which we run neurons
- :return:
- """
- for neuron in synapse.neurons:
- NeuroneLauncher.start_neurone(neuron)
- return True
|