import os import flask import secrets import logging from dotenv import load_dotenv from werkzeug.middleware.proxy_fix import ProxyFix load_dotenv() log = logging.getLogger('werkzeug') log.disabled = True def create_app() -> flask.Flask: app = flask.Flask(__name__) app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1, x_proto=1, x_host=1, x_prefix=1) app.secret_key = os.environ['FLASK_SECRET_KEY'] app.jinja_env.trim_blocks = True app.jinja_env.lstrip_blocks = True import tos import account import finances tos.register(app) account.register(app) finances.register(app) # max 100 MB app.config['MAX_CONTENT_LENGTH'] = 100 * 1024 * 1024 @app.context_processor def inject_variables(): return { 'contact_email': os.getenv('CONTACT_EMAIL') } @app.route('/') def index(): return flask.render_template('index.html') @app.route('/get-started') def go(): return flask.render_template('get-started.html') @app.route('/novacord') def novacord_page(): return flask.render_template('novacord.html') @app.route('/replit') def replit_page(): return flask.render_template('replit.html') @app.route('/favicon.ico') def favicon(): return flask.send_file('static/img/fav.ico', mimetype='image/vnd.microsoft.icon') return app production = create_app() if __name__ == '__main__': print('* DEV environment online at http://localhost:2211') create_app().run(debug=True, use_reloader=True, use_evalex=False, port=2211, host='0.0.0.0', threaded=True)