fix: remaining ruff formatting issues and robust gitea auth
Ampel / ampel (push) Successful in 23s

This commit is contained in:
Hitonabi
2026-08-07 16:25:27 +02:00
parent e16f0140f7
commit ee456de713
4 changed files with 51 additions and 12 deletions
+29 -9
View File
@@ -278,18 +278,38 @@ def apply_update(kind: str) -> str:
def get_ci_status() -> str:
"""Prüft den letzten CI-Build-Status auf der AI-Box via Gitea API.
Nützlich, um nach einem Push zu verifizieren, ob das Frontend und Backend grün gebaut haben."""
token_path = os.path.expanduser("~/.git-credentials")
token = ""
# 1. Fallback: Versuch via git credential manager (zukunftsfähig & plattformübergreifend)
try:
with open(token_path, "r") as f:
creds = f.read()
import re
m = re.search(r'https://[^:]+:([^@]+)@git\.tobisniceshomelab', creds)
token = m.group(1) if m else ""
import subprocess
p = subprocess.run(
["git", "credential", "fill"],
input=b"protocol=https\nhost=git.tobisniceshomelab.ddnsfree.com\n",
capture_output=True,
check=True
)
out = p.stdout.decode(errors="replace")
import re
p_match = re.search(r"password=(.+)", out)
if p_match:
token = p_match.group(1).strip()
except Exception:
token = ""
pass
# 2. Fallback: Datei (hauptsächlich auf der AI-Box genutzt)
if not token:
token_path = os.path.expanduser("~/.git-credentials")
try:
with open(token_path, "r") as f:
creds = f.read()
import re
m = re.search(r'https://[^:]+:([^@]+)@git\.tobisniceshomelab', creds)
token = m.group(1) if m else ""
except Exception:
token = ""
if not token:
return "❌ Gitea Token in ~/.git-credentials nicht gefunden. CI Status kann nicht geprüft werden."
return "❌ Gitea Token konnte nicht via 'git credential' oder ~/.git-credentials geladen werden. CI Status kann nicht geprüft werden."
# Gitea URL von der Box aus intern erreichbar
repo_url = "http://192.168.178.153:3000/api/v1/repos/Hitonabi/mission-control-v2/actions/runs?limit=1"
@@ -312,7 +332,7 @@ def get_ci_status() -> str:
else:
return f"️ CI-Build ({name} @ {sha}) Status: {status}"
except Exception as e:
return f"❌ Fehler bei der Gitea-API Abfrage: {str(e)}"
return f"❌ Fehler bei der Gitea-API Abfrage: {e!s}"
# ── Erinnerungen & Routinen (A3): die Box sagt dem Commander zur Zeit aktiv Bescheid ─────────
@mcp.tool()