fix: Bei keinem Treffer zeigen, was ueberhaupt geladen wurde

N26 und Revolut sind bei Enable Banking abgedeckt – in 31 Laendern, unter
genau diesen Namen. Wer sie trotzdem nicht findet, bekommt die falsche Liste,
und der haeufigste Grund ist eine als Sandbox statt Production angelegte
Anwendung: Dann kommen Test-Institute, man sieht also Banken, nur nicht die
echten.

Bleibt die Suche ohne Treffer, stehen jetzt acht Beispiele aus der geladenen
Liste da. Sind das lauter Mock-Institute, ist die Ursache auf einen Blick zu
sehen statt nach Namensvarianten zu raten.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Guido
2026-08-26 21:52:04 +02:00
co-authored by Claude Opus 5
parent 9a0c607e8c
commit d3e4b0e089
4 changed files with 33 additions and 10 deletions
+6 -4
View File
@@ -89,11 +89,13 @@ def banken(db: Session, user: User, land: str | None = None,
"logo": b.get("logo"), "psu_types": b.get("psu_types", []),
"beta": bool(b.get("beta"))})
treffer.sort(key=lambda b: (b["name"].lower(), b.get("country") or ""))
# „gesamt" mitliefern: Sonst sieht „keine Treffer" gleich aus, egal ob die
# Liste leer kam oder der Suchbegriff nicht passte – und man sucht den
# Fehler an der falschen Stelle.
# „gesamt" und eine Kostprobe mitliefern: Sonst sieht „keine Treffer"
# gleich aus, egal ob die Liste leer kam, der Suchbegriff nicht passte –
# oder die Anwendung als Sandbox angelegt wurde und lauter Test-Institute
# liefert. An der Kostprobe sieht man Letzteres sofort.
beispiele = sorted({str(b.get("name")) for b in roh if b.get("name")})[:8]
return {"gesamt": len(roh), "treffer": treffer[:MAX_TREFFER],
"gekuerzt": len(treffer) > MAX_TREFFER}
"gekuerzt": len(treffer) > MAX_TREFFER, "beispiele": beispiele}
def starte_verbindung(db: Session, user: User, aspsp_name: str, land: str,