Files
kontor/flask/kontor/__init__.py
T
2025-01-08 22:34:21 +01:00

62 lines
1.8 KiB
Python

from flask import Flask, render_template
from flask_jwt_extended import JWTManager
from kontor import config
from kontor.extensions import db, ma
from logging.config import dictConfig
dictConfig({
'version': 1,
'formatters': {'default': {
'format': '[%(asctime)s] %(levelname)s in %(module)s: %(message)s',
}},
'handlers': {'wsgi': {
'class': 'logging.StreamHandler',
'stream': 'ext://flask.logging.wsgi_errors_stream',
'formatter': 'default'
}},
'root': {
'level': 'INFO',
'handlers': ['wsgi']
}
})
app = Flask(__name__)
def create_app(config_class=config.Config):
app.config.from_object(config_class)
db.init_app(app)
ma.init_app(app)
# Initialize Flask extensions here
app.config["JWT_SECRET_KEY"] = "super-secret" # Change this!
jwt = JWTManager(app)
with app.app_context():
# db.create_all()
db.reflect()
# Register blueprints here
from kontor.main import bp as main_bp
app.register_blueprint(main_bp)
from kontor.comics import comics_bp
app.register_blueprint(comics_bp, url_prefix='/comics')
from kontor.api import api_bp
app.register_blueprint(api_bp, url_prefix='/api/v1')
from kontor.comics import comics_api
app.register_blueprint(comics_api, url_prefix='/api/v1/comics')
from kontor.media import media_bp
app.register_blueprint(media_bp, url_prefix='/media')
from kontor.media import media_api
app.register_blueprint(media_api, url_prefix='/api/v1/media')
# from kontor.auth.auth import auth_bp
# from kontor.cart.cart import cart_bp
# from kontor.general.general import general_bp
# app.register_blueprint(auth_bp)
# app.register_blueprint(cart_bp, url_prefix='/cart')
# app.register_blueprint(general_bp)
return app