Spaces:
Sleeping
Sleeping
File size: 1,485 Bytes
950dcd2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | """DevKit — Flask app factory."""
import os
from flask import Flask
from flask_wtf.csrf import CSRFProtect
_csrf = CSRFProtect()
def create_app():
app = Flask(__name__, template_folder="templates")
app.config["SECRET_KEY"] = os.environ.get("SECRET_KEY", "dev-devkit-2026")
app.config["MAX_CONTENT_LENGTH"] = 30 * 1024 * 1024
_csrf.init_app(app)
from app.home.routes import bp as home_bp
app.register_blueprint(home_bp)
from app.tools.schema_detective.routes import bp as schema_detective_bp
app.register_blueprint(schema_detective_bp, url_prefix='/schema-detective')
from app.tools.test_forge.routes import bp as test_forge_bp
app.register_blueprint(test_forge_bp, url_prefix='/test-forge')
from app.tools.sql_whisperer.routes import bp as sql_whisperer_bp
app.register_blueprint(sql_whisperer_bp, url_prefix='/sql-whisperer')
from app.tools.doc_forge.routes import bp as doc_forge_bp
app.register_blueprint(doc_forge_bp, url_prefix='/doc-forge')
from app.tools.changelog_ai.routes import bp as changelog_ai_bp
app.register_blueprint(changelog_ai_bp, url_prefix='/changelog-ai')
from app.tools.git_narrator.routes import bp as git_narrator_bp
app.register_blueprint(git_narrator_bp, url_prefix='/git-narrator')
from flask import jsonify
@app.errorhandler(Exception)
def _handle_exc(e):
code = getattr(e, "code", 500)
return jsonify({"error": str(e)}), code
return app |