Files
Jarvis/scenario_manager.py

28 lines
866 B
Python

from threading import Thread
import triggers
import actions
import db_routing
class Executor(Thread):
def __init__(self, scenario, tg_id):
Thread.__init__(self)
self.tg_id = tg_id
self.sceanrio_id = scenario.id
self.trigger_def = db_routing.get_trigers(scenario.id).def_name
self.trigger_args = scenario.trigger_args
self.action_def = db_routing.get_actions(scenario.id).def_name
self.action_args = scenario.action_args
def execute(self):
trigger = getattr(triggers, self.trigger_def)
trigger(self.trigger_args, self.tg_id)
action = getattr(actions, self.action_def)
action(self.action_args, self.tg_id)
def run(self):
thread = Thread(target=self.execute)
thread.start()
thread.join()
db_routing.delete_scenario(self.sceanrio_id)