mirror of
https://github.com/Llloooggg/Jarvis.git
synced 2026-03-05 19:46:24 +03:00
Менеджер сценариев работает
This commit is contained in:
@@ -72,7 +72,8 @@ def workshop():
|
||||
new_scenario = db_routing.add_scenario(current_user.get_id(), newScenarioName, triggerID, triggerArgs,
|
||||
actionID,
|
||||
actionArgs)
|
||||
Executor(new_scenario)
|
||||
activeScenario = Executor(new_scenario)
|
||||
activeScenario.start()
|
||||
return redirect(url_for('workshop'))
|
||||
|
||||
if 'TGUsername' in request.form:
|
||||
|
||||
@@ -2,6 +2,8 @@ from db_routing import add_trigger, add_action
|
||||
|
||||
|
||||
def db_fill():
|
||||
add_trigger('Тест', 'test_trigger')
|
||||
add_trigger('Будильник', 'alarm_clock')
|
||||
add_trigger('Проверить почту', 'check_email')
|
||||
|
||||
add_action('Тест', 'test_action')
|
||||
|
||||
@@ -119,7 +119,6 @@ def get_user_scripts(current_user_id):
|
||||
|
||||
|
||||
def delete_scenario(scenario_id):
|
||||
print(scenario_id)
|
||||
scenario = Scenario.query.filter_by(id=scenario_id).first()
|
||||
db.session.delete(scenario)
|
||||
db.session.commit()
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
from threading import Thread
|
||||
from triggers import *
|
||||
import triggers
|
||||
import db_routing
|
||||
|
||||
|
||||
class Executor(Thread):
|
||||
def __init__(self, scenario):
|
||||
threading.Thread.__init__(self)
|
||||
Thread.__init__(self)
|
||||
self.sceanrio_id = scenario.id
|
||||
self.trigger_def = db_routing.get_trigers(scenario.id).def_name
|
||||
self.trigger_args = scenario.trigger_args
|
||||
@@ -13,8 +13,10 @@ class Executor(Thread):
|
||||
self.action_args = scenario.action_args
|
||||
|
||||
def execute(self):
|
||||
self.trigger_def(self.trigger_args)
|
||||
self.action_def.def_name(self.action_args)
|
||||
trigger = getattr(triggers, self.trigger_def)
|
||||
trigger(self.trigger_args)
|
||||
action = getattr(triggers, self.action_def)
|
||||
action(self.action_args)
|
||||
|
||||
def run(self):
|
||||
thread = Thread(target=self.execute)
|
||||
|
||||
@@ -68,6 +68,15 @@ def check_email(gmail_user, gmail_pass):
|
||||
# Чтобы запустить будильник 1, Парсер 2
|
||||
Mode = 2
|
||||
|
||||
|
||||
def test_trigger(var):
|
||||
time.sleep(int(var))
|
||||
|
||||
|
||||
def test_action(var):
|
||||
print("Я пишу", var)
|
||||
|
||||
|
||||
# Для создания потока будильника передаются:
|
||||
# Id юзера который поставил будильник, и значения времени которые он поставил. Поток создаётся с именем(id) юзера
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user