Erster Wurf
This commit is contained in:
@@ -2,31 +2,39 @@ from fastapi import APIRouter, Request
|
||||
from fastapi.responses import HTMLResponse, RedirectResponse
|
||||
from fastapi.templating import Jinja2Templates
|
||||
from core.data_processor import get_upcoming_events, get_remarks, invalidate_cache
|
||||
from core.config_loader import config
|
||||
from pathlib import Path
|
||||
|
||||
router = APIRouter()
|
||||
BASE_DIR = Path(__file__).parent.parent
|
||||
templates = Jinja2Templates(directory=str(BASE_DIR / "templates"))
|
||||
|
||||
# Admin auf Root
|
||||
@router.get("/", response_class=HTMLResponse)
|
||||
async def admin_page(request: Request):
|
||||
from core.config_loader import config
|
||||
return templates.TemplateResponse("admin.html", {
|
||||
"request": request, "links": config['links']
|
||||
@router.get("/zeiten", response_class=HTMLResponse)
|
||||
async def public_table(request: Request, days: int = None, lines: int = None, test: bool = False):
|
||||
# Wenn nichts angegeben wurde, greift der Standard aus der Config
|
||||
if not days and not lines:
|
||||
days = config['processing']['days_to_show']
|
||||
|
||||
events = get_upcoming_events(days_to_show=days, limit=lines)
|
||||
remarks = get_remarks()
|
||||
|
||||
# Template 'zeiten.html' laden und 'test' Parameter durchreichen
|
||||
return templates.TemplateResponse("zeiten.html", {
|
||||
"request": request,
|
||||
"events": events,
|
||||
"remarks": remarks,
|
||||
"test": test
|
||||
})
|
||||
|
||||
# Tabelle unter /zeiten
|
||||
@router.get("/zeiten", response_class=HTMLResponse)
|
||||
async def times_table(request: Request):
|
||||
events = get_upcoming_events()
|
||||
remarks = get_remarks()
|
||||
return templates.TemplateResponse("index.html", {
|
||||
"request": request, "events": events, "remarks": remarks
|
||||
@router.get("/", response_class=HTMLResponse)
|
||||
async def admin_page(request: Request):
|
||||
return templates.TemplateResponse("admin.html", {
|
||||
"request": request,
|
||||
"links": config['links'],
|
||||
"config_days": config['processing']['days_to_show']
|
||||
})
|
||||
|
||||
@router.get("/cache-clear")
|
||||
async def clear_cache():
|
||||
invalidate_cache()
|
||||
# Relativer Redirect zurück zum Admin-Interface
|
||||
return RedirectResponse(url="./")
|
||||
return RedirectResponse(url="/")
|
||||
Reference in New Issue
Block a user