import os
# From flask tutorial,
# https://flask.palletsprojects.com/en/3.0.x/tutorial/factory/
from flask import Flask
# https://flask-cors.readthedocs.io/en/latest/
from flask_cors import CORS
# Factory for creating the app object. Available throughout the app.
def create_app(test_config=None):
# create and configure the app
app = Flask(__name__, instance_relative_config=True)
app.config.from_mapping(
SECRET_KEY='dev',
DATABASE=os.path.join(app.instance_path, 'msgcollect.sqlite'),
)
# Adds cross-origin permission to everything.
CORS(app)
#
if test_config is None:
# load the instance config, if it exists, when not testing
app.config.from_pyfile('config.py', silent=True)
else:
# load the test config if passed in
app.config.from_mapping(test_config)
# ensure the instance folder exists
try:
os.makedirs(app.instance_path)
except OSError:
pass
# a simple page that says hello
@app.route('/hello')
def hello():
return 'Hello, World!'
from . import db
db.init_app(app)
from . import poll
poll.mk_poll(app)
from . import add
add.mk_add(app)
# from . import altgreet
# altgreet.mk_alt(app)
return app