first commit
This commit is contained in:
44
webapp/__init__.py
Normal file
44
webapp/__init__.py
Normal file
@@ -0,0 +1,44 @@
|
||||
from __future__ import annotations
|
||||
from flask import Flask, render_template
|
||||
from datetime import datetime
|
||||
|
||||
# bestehende Blueprints
|
||||
from .routes.structures import bp as structures_bp
|
||||
from .routes.cookbook import bp as cookbook_bp
|
||||
from .routes.archive import bp as archive_bp
|
||||
# NEU: Blueprint-ID API
|
||||
from .routes.blueprints import bp as blueprints_api_bp
|
||||
|
||||
def create_app() -> Flask:
|
||||
app = Flask(__name__, template_folder="templates")
|
||||
|
||||
# Jinja-Filter für Timestamps (wird in Templates genutzt)
|
||||
def fmt_ts(value):
|
||||
if not value:
|
||||
return ""
|
||||
try:
|
||||
# akzeptiert "YYYY-mm-ddTHH:MM:SS" etc.
|
||||
if isinstance(value, (int, float)):
|
||||
return datetime.fromtimestamp(value).strftime("%Y-%m-%d %H:%M")
|
||||
s = str(value).replace("T", " ").split("+", 1)[0]
|
||||
return s[:16]
|
||||
except Exception:
|
||||
return str(value)
|
||||
app.jinja_env.filters["fmt_ts"] = fmt_ts
|
||||
|
||||
# Blueprints registrieren
|
||||
app.register_blueprint(structures_bp)
|
||||
app.register_blueprint(cookbook_bp)
|
||||
app.register_blueprint(archive_bp)
|
||||
app.register_blueprint(blueprints_api_bp) # <-- neu
|
||||
|
||||
# Home + Favicon
|
||||
@app.get("/")
|
||||
def home():
|
||||
return render_template("index.html")
|
||||
|
||||
@app.get("/favicon.ico")
|
||||
def _favicon():
|
||||
return ("", 204)
|
||||
|
||||
return app
|
||||
Reference in New Issue
Block a user