diff --git a/__init__.py b/__init__.py index 86e74ee..cc9022b 100644 --- a/__init__.py +++ b/__init__.py @@ -69,13 +69,13 @@ def workshop(): actionArgs) return redirect(url_for('workshop')) - # if 'NewScenarioName' in request.form: - if 'TGUsername' in request.form: new_tg_username = request.form['TGUsername'] db_routing.tg_username_update(current_user.get_id(), new_tg_username) return redirect(url_for('workshop')) + # if 'NewScenarioName' in request.form: + triggers_list = db_routing.get_trigers() actions_list = db_routing.get_actions() user_scripts_list = db_routing.get_user_scripts(current_user.get_id()) diff --git a/actions.py b/actions.py index 934fe0c..c75b4e6 100644 --- a/actions.py +++ b/actions.py @@ -1,30 +1,33 @@ # Парсер почты import datetime -import imaplib -import time import email +import imaplib # будильник import threading +import time -#То, что нужно будет передавать функциям +# То, что нужно будет передавать функциям -#Инициализация будильника -userName='Denis' -year_Alarm_Clock=2020 -month_Alarm_Clock=3 -day_Alarm_Clock=19 -hour_Alarm_Clock=12 -min_Alarm_Clock=49 -sec_Alarm_Clock=0 -#Инициализация парсера почты -gmail_user=''#Login -gmail_pass=''#Password +# Инициализация будильника +userName = 'Denis' +year_Alarm_Clock = 2020 +month_Alarm_Clock = 3 +day_Alarm_Clock = 19 +hour_Alarm_Clock = 12 +min_Alarm_Clock = 49 +sec_Alarm_Clock = 0 +# Инициализация парсера почты +gmail_user = '' # Login +gmail_pass = '' # Password -#Сами функции -#Будильник -def alarm_clock(year_Alarm_Clock, month_Alarm_Clock, day_Alarm_Clock, hour_Alarm_Clock, min_Alarm_Clock, sec_Alarm_Clock): - dt = datetime.datetime(year_Alarm_Clock, month_Alarm_Clock, day_Alarm_Clock, hour_Alarm_Clock, min_Alarm_Clock, sec_Alarm_Clock) +# Сами функции + +# Будильник +def alarm_clock(year_Alarm_Clock, month_Alarm_Clock, day_Alarm_Clock, hour_Alarm_Clock, min_Alarm_Clock, + sec_Alarm_Clock): + dt = datetime.datetime(year_Alarm_Clock, month_Alarm_Clock, day_Alarm_Clock, hour_Alarm_Clock, min_Alarm_Clock, + sec_Alarm_Clock) diff = (dt - datetime.datetime.now()).total_seconds() try: time.sleep(diff) @@ -47,40 +50,38 @@ def check_email(gmail_user, gmail_pass): count_Email_Current = (mail.select("inbox")[1][0]).decode('utf-8') if count_Email_Current > count_Email_Start: result, data = mail.search(None, "ALL") - ids = data[0] # Получаем сроку номеров писем - id_list = ids.split() # Разделяем ID писем - latest_email_id = id_list[-1] # Берем последний ID - result, data = mail.fetch(latest_email_id, "(RFC822)") # Получаем тело письма (RFC822) для данного ID + ids = data[0] # Получаем сроку номеров писем + id_list = ids.split() # Разделяем ID писем + latest_email_id = id_list[-1] # Берем последний ID + result, data = mail.fetch(latest_email_id, "(RFC822)") # Получаем тело письма (RFC822) для данного ID raw_email = data[0][1] email_message = email.message_from_bytes(raw_email) email_message_From = email_message['From'] email_message_From = email_message_From[email_message_From.index('<'):email_message_From.index('>')] - email_message_From = email_message_From[1:] + email_message_From = email_message_From[1:] print('Отправить сообщение в телегу о том, что занят') print('Отправить "от кого" ', email_message_From) count_Email_Start = count_Email_Current time.sleep(15) # частота проверки нового письма +# Чтобы запустить будильник 1, Парсер 2 +Mode = 2 -#Чтобы запустить будильник 1, Парсер 2 -Mode=2 - -#Для создания потока будильника передаются: +# Для создания потока будильника передаются: # Id юзера который поставил будильник, и значения времени которые он поставил. Поток создаётся с именем(id) юзера if __name__ == '__main__': - if Mode==1: + if Mode == 1: Clock_Thread = threading.Thread( - target = alarm_clock, name = userName, args=(year_Alarm_Clock, - month_Alarm_Clock, - day_Alarm_Clock, - hour_Alarm_Clock, - min_Alarm_Clock, - sec_Alarm_Clock)) + target=alarm_clock, name=userName, args=(year_Alarm_Clock, + month_Alarm_Clock, + day_Alarm_Clock, + hour_Alarm_Clock, + min_Alarm_Clock, + sec_Alarm_Clock)) Clock_Thread.start() - if Mode==2: + if Mode == 2: check_email(gmail_user, gmail_pass) - # сценарии должны хранить логины и пароль # запилить бота, возврат темы и отправителя в словаре. diff --git a/db_routing.py b/db_routing.py index 5e3e08d..7716663 100644 --- a/db_routing.py +++ b/db_routing.py @@ -56,7 +56,7 @@ class Scenario(db.Model): def add_user(user_name, passw_hash): - if not get_user(user_name): + if not get_user(username=user_name): new_user = User(username=user_name, password=passw_hash) db.session.add(new_user) db.session.commit()