diff --git a/app.py b/app.py index 6685808..779262b 100644 --- a/app.py +++ b/app.py @@ -3,10 +3,20 @@ import datetime from sqlalchemy import create_engine, Column, Integer, String, Date from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker -import pymysql +from flask_apscheduler import APScheduler + + +class Config: + SCHEDULER_API_ENABLED = True + app = Flask(__name__) app.config['SECRET_KEY'] = 'fa6166b0218186fb852429060105aca18e0f979240be8ebf' +app.config.from_object(Config()) + +scheduler = APScheduler() +scheduler.init_app(app) + Base = declarative_base() @@ -48,6 +58,24 @@ SettingsMetadata.__table__.create(bind=engine, checkfirst=True) Session = sessionmaker(bind=engine) +@scheduler.task('cron', id='send_notifications', minute='*') +def notifications(): + session = Session() + + notifications = {'text': '', 'email': ''} + notifications['text'] = session.query(Settings).filter_by(settingType=1).first().settingValue + notifications['email'] = session.query(Settings).filter_by(settingType=2).first().settingValue + + if notifications['text']: + print('will send text') + if notifications['email']: + print('will send email') + print('checked') + + +scheduler.start() + + @app.route('/', methods=('GET', 'POST')) @app.route('/index.html', methods=('GET', 'POST')) def index(): @@ -142,11 +170,16 @@ def install(): session.add(Settings(settingType=1, settingValue='False')) session.add(Settings(settingType=2, settingValue='False')) session.add(Settings(settingType=3, settingValue='14')) + session.add(Settings(settingType=4, settingValue=None)) + session.add(Settings(settingType=5, settingValue=None)) + # Populate SettingsMetadata session.add(SettingsMetadata(settingTypeID=1, settingTypeName='Text')) session.add(SettingsMetadata(settingTypeID=2, settingTypeName='Email')) session.add(SettingsMetadata(settingTypeID=3, settingTypeName='Feeding Frequency')) + session.add(SettingsMetadata(settingTypeID=4, settingTypeName='Alert Phone Number')) + session.add(SettingsMetadata(settingTypeID=5, settingTypeName='Alert Email')) session.commit()