12345678910111213141516171819202122232425262728293031323334 |
- import logging
- from kalliope.core import Utils
- logging.basicConfig()
- logger = logging.getLogger("kalliope")
- class TriggerLauncher(object):
- def __init__(self):
- pass
- @staticmethod
- def get_trigger(settings, callback):
- """
- Start a trigger module
- :param trigger: trigger object to instantiate
- :type trigger: Trigger
- :param callback: Callback function to call when the trigger catch the magic word
- :return: The instance of Trigger
- :rtype: Trigger
- """
- trigger_instance = None
- for trigger in settings.triggers:
- if trigger.name == settings.default_trigger_name:
- # add the callback method to parameters
- trigger.parameters["callback"] = callback
- logger.debug(
- "TriggerLauncher: Start trigger %s with parameters: %s" % (trigger.name, trigger.parameters))
- trigger_instance = Utils.get_dynamic_class_instantiation(package_name="trigger",
- module_name=trigger.name,
- parameters=trigger.parameters)
- break
- return trigger_instance
|