28 lines
740 B
Python
28 lines
740 B
Python
"""Flowers application factory."""
|
|
|
|
from flask import Flask
|
|
|
|
from Config import COOKIE_SECURE, DEBUG, SECRET_KEY
|
|
from flower_vase import CredentialStore, flower_bp
|
|
|
|
|
|
def create_app(test_config: dict | None = None) -> Flask:
|
|
app = Flask(__name__)
|
|
app.config.from_mapping(
|
|
SECRET_KEY=SECRET_KEY,
|
|
SESSION_COOKIE_HTTPONLY=True,
|
|
SESSION_COOKIE_SAMESITE="Lax",
|
|
SESSION_COOKIE_SECURE=COOKIE_SECURE,
|
|
MAX_CONTENT_LENGTH=64 * 1024,
|
|
)
|
|
if test_config:
|
|
app.config.update(test_config)
|
|
|
|
app.extensions["credential_store"] = CredentialStore()
|
|
app.register_blueprint(flower_bp)
|
|
return app
|
|
|
|
|
|
if __name__ == "__main__":
|
|
create_app().run(debug=DEBUG, host="127.0.0.1", port=5012)
|