from flask import Flask, render_template, request, flash, redirect import datetime from sqlalchemy import create_engine, Column, Integer, String, DateTime from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker app = Flask(__name__) app.config['SECRET_KEY'] = 'fa6166b0218186fb852429060105aca18e0f979240be8ebf' Base = declarative_base() class Dates(Base): __tablename__ = 'Dates' id = Column(Integer, primary_key=True, autoincrement=True) dateTypeID = Column(Integer) dateValue = Column(String) class DatesMetadata(Base): __tablename__ = 'DatesMetadata' id = Column(Integer, primary_key=True, autoincrement=True) dateTypeID = Column(Integer) DateTypeName = Column(String) class Settings(Base): __tablename__ = 'Settings' id = Column(Integer, primary_key=True, autoincrement=True) settingType = Column(Integer) settingVale = Column(String) class SettingsMetadata(Base): __tablename__ = 'SettingsMetadata' id = Column(Integer, primary_key=True, autoincrement=True) settingTypeID = Column(Integer) settingTypeName = Column(String) engine = create_engine('sqlite:///static/db.db') Dates.__table__.create(bind=engine, checkfirst=True) Settings.__table__.create(bind=engine, checkfirst=True) DatesMetadata.__table__.create(bind=engine, checkfirst=True) SettingsMetadata.__table__.create(bind=engine, checkfirst=True) Session = sessionmaker(bind=engine) @app.route('/', methods=('GET', 'POST')) @app.route('/index.html', methods=('GET', 'POST')) def index(): session = Session() plantdate = datetime.datetime(2022, 1,19) last = datetime.datetime(2022, 1,19) freq = 7 next = last + datetime.timedelta(days=freq) alerts = {'text': False, 'email': True} if request.method == 'POST': plantdate = request.form['plantDate'] last = request.form['lastDate'] next = datetime.datetime.strptime(last,'%Y-%m-%d') + datetime.timedelta(days=freq) plant = {'plant': plantdate, 'last': last, 'next': next, 'freq': freq} return render_template("index.html", plant=plant, alerts=alerts) else: dates = {'plant': '', 'last': '', 'next':'', 'freq': ''} # result = session.query(Dates).filter_by(dateTypeID=1).first() dates['plant'] = session.query(Dates).filter_by(dateTypeID=1).first().dateValue dates['last'] = session.query(Dates).filter_by(dateTypeID=2).first().dateValue dates['next'] = session.query(Dates).filter_by(dateTypeID=3).first().dateValue dates['freq'] = session.query(Dates).filter_by(dateTypeID=4).first().dateValue print(datetime.datetime.strptime(dates['plant'], '%Y-%m-%d')) return render_template("index.html", plant=dates, alerts=alerts) if __name__ == '__main__': serve(app, host='0.0.0.0', port=8000)