Compare commits

..
1 Commits
Author SHA1 Message Date
agw 265b48905a fix(yt): manglende import asyncio gav 500 på overvågning og tilføjelse
CD / deploy (push) Successful in 49s
CI / check (push) Successful in 33s
main.py brugte asyncio.create_task i YouTube-ruterne (tilføj video, tilføj
og kør overvågede kanaler), men importen på modulniveau forsvandt 2026-09-20
(9675a5b); kun to funktioner havde en lokal import. Siden da gav "tilføj
overvåget kanal" og "tilføj video" 500 (NameError).

CI kører nu pyflakes og fejler på udefinerede navne, så det fanges før drift.

Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
2026-10-06 13:34:32 +02:00
2 changed files with 8 additions and 3 deletions
+7 -1
View File
@@ -15,9 +15,15 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Tooling
run: apt-get update -qq && apt-get install -y -qq --no-install-recommends python3 python3-jinja2
run: apt-get update -qq && apt-get install -y -qq --no-install-recommends python3 python3-jinja2 python3-pyflakes
- name: Python compiles
run: python3 -m compileall -q .
- name: No undefined names
# Fanger fx et manglende "import asyncio", der ellers først viser sig som
# en 500 i drift (sket for YouTube-modulet 2026-09-20 til 2026-10-06).
run: |
python3 -m pyflakes *.py > pyflakes.txt || true
if grep -E "undefined name|unable to detect undefined names" pyflakes.txt; then exit 1; fi
- name: Templates parse
run: |
python3 - <<'PY'
+1 -2
View File
@@ -7,6 +7,7 @@ from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
from starlette.middleware.sessions import SessionMiddleware
import asyncio
import re
import time
import urllib.parse
@@ -133,7 +134,6 @@ async def dashboard_content(request: Request):
user = current_user(request)
if not user:
raise HTTPException(401)
import asyncio
mc_task = asyncio.create_task(svc.minecraft_servers())
apps, error = [], None
try:
@@ -236,7 +236,6 @@ async def admin_ops(request: Request):
@app.get("/ops-content", response_class=HTMLResponse)
async def ops_content(request: Request):
require_admin(request)
import asyncio
version, rp, vers = await asyncio.gather(
svc.assets_version(), svc.rp_status(), versions.all_versions())
return templates.TemplateResponse(request, "admin_ops_body.html", {