from flask import Flask, render_template, request, redirect, jsonify from flask_sqlalchemy import SQLAlchemy from sqlalchemy.exc import SQLAlchemyError from flask_marshmallow import Marshmallow from flask_bootstrap import Bootstrap from wtforms import SubmitField, StringField, HiddenField, SelectField, IntegerField, TextAreaField, validators from flask_wtf import FlaskForm from status import st, Status import re import socket ####################################### Flask App globals ####################################### PROD_HOST="pa_web" hostname = socket.gethostname() print( "Running on: {}".format( hostname) ) app = Flask(__name__) ### what is this value? I gather I should change it? # connection string: pguseraccount, pgpasswd, mara as the host, db port is 55432, dbname DB_URL = 'postgresql+psycopg2://pa:for_now_pa@mara.ddp.net:55432/pa' app.config['SQLALCHEMY_DATABASE_URI'] = DB_URL app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config.from_mapping( SECRET_KEY=b'\xd6\x04\xbdj\xfe\xed$c\x1e@\xad\x0f\x13,@G') db = SQLAlchemy(app) ma = Marshmallow(app) Bootstrap(app) ################################# Now, import non-book classes ################################### from settings import Settings from photos import Photos ####################################### GLOBALS ####################################### # allow jinja2 to call these python functions directly app.jinja_env.globals['ClearStatus'] = st.ClearStatus # default page, just the navbar @app.route("/", methods=["GET"]) def main_page(): return render_template("base.html", alert=st.GetAlert(), message=st.GetMessage()) if __name__ == "__main__": if hostname == PROD_HOST: app.run(ssl_context=('/etc/letsencrypt/live/book.depaoli.id.au/cert.pem', '/etc/letsencrypt/live/book.depaoli.id.au/privkey.pem'), host="0.0.0.0", debug=False) else: app.run(host="0.0.0.0", debug=True)