diff options
Diffstat (limited to 'snag/__init__.py')
-rw-r--r-- | snag/__init__.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/snag/__init__.py b/snag/__init__.py new file mode 100644 index 0000000..c0b936f --- /dev/null +++ b/snag/__init__.py @@ -0,0 +1,41 @@ +# snag +# Matt Kohls +# (c) 2023 + +import os + +from flask import Flask + +def create_app(test_config=None): + # create and configure the app + app = Flask(__name__, instance_relative_config=True) + app.config.from_mapping( + SECRET_KEY='development_key', + DATABASE=os.path.join(app.instance_path, 'snag.sqlite'), + ) + + # probably not going to mess with test stuff but just in case + 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 + + from . import db + db.init_app(app) + + from . import graphs, data, dashboard + app.register_blueprint(graphs.bp) + app.register_blueprint(data.bp) + app.register_blueprint(dashboard.bp) + app.add_url_rule('/', endpoint='dashboard') + + return app + |