TriggerLauncher.py 878 B

12345678910111213141516171819202122232425262728
  1. import logging
  2. from core import Utils
  3. logging.basicConfig()
  4. logger = logging.getLogger("kalliope")
  5. class TriggerLauncher(object):
  6. def __init__(self):
  7. pass
  8. @classmethod
  9. def get_trigger(cls, trigger, callback):
  10. """
  11. Start a trigger module
  12. :param trigger: trigger object to instantiate
  13. :type trigger: Trigger
  14. :param callback: Callback function to call when the trigger
  15. catch the magic word
  16. :return:
  17. """
  18. # add the callback method to parameters
  19. trigger.parameters["callback"] = callback
  20. logger.debug("TriggerLauncher: Start trigger %s with parameters: %s" % (trigger.name, trigger.parameters))
  21. return Utils.get_dynamic_class_instantiation("trigger", trigger.name.capitalize(),
  22. trigger.parameters)