fix(snapshot): Cookie-Dedup + schneller Impressum-Tab + Tabellen-Zahl
- Cookies werden je Vendor nach Name dedupliziert (Consent-Phasen-Dubletten; BMW 2196 → ~772) — in cookie-check + get_snapshot, behebt aufgeblähte Kachel-/Finding-Zahlen. - Impressum-Snapshot-Check überspringt den ~40s-LLM-Schritt (context skip_llm) → Tab lädt sofort statt leer zu bleiben. - Vendor-Tabelle zeigt nur die Cookie-Zahl (kein 'Cookies'-Wort je Zeile). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -75,7 +75,9 @@ def doc_input_from_snapshot(snap: dict, doc_type: str) -> dict | None:
|
||||
"business_scope": scope,
|
||||
"company_name": (profile.get("company_name") or snap.get("site_label") or ""),
|
||||
"origin_domain": snap.get("site_domain", ""),
|
||||
"context": {"scan_context": snap.get("scan_context") or {}},
|
||||
# skip_llm: Snapshot-Ansicht ist interaktiv → kein ~40s-LLM-Schritt.
|
||||
"context": {"scan_context": snap.get("scan_context") or {},
|
||||
"skip_llm": True},
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -218,6 +218,11 @@ async def get_snapshot(snapshot_id: str):
|
||||
snap = load_snapshot(db, snapshot_id)
|
||||
if not snap:
|
||||
raise HTTPException(status_code=404, detail="snapshot not found")
|
||||
if snap.get("cmp_vendors"):
|
||||
from compliance.services.cookie_storage_inventory import (
|
||||
dedupe_vendor_cookies,
|
||||
)
|
||||
snap["cmp_vendors"] = dedupe_vendor_cookies(snap["cmp_vendors"])
|
||||
return snap
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
@@ -58,6 +58,7 @@ async def snapshot_cookie_check(snapshot_id: str):
|
||||
)
|
||||
from compliance.services.cookie_storage_inventory import (
|
||||
build_storage_inventory, storage_transparency_finding,
|
||||
dedupe_vendor_cookies,
|
||||
)
|
||||
from compliance.services.cookie_compliance_audit import (
|
||||
audit_cookie_compliance,
|
||||
@@ -67,7 +68,8 @@ async def snapshot_cookie_check(snapshot_id: str):
|
||||
snap = load_snapshot(db, snapshot_id)
|
||||
if not snap:
|
||||
raise HTTPException(status_code=404, detail="snapshot not found")
|
||||
vendors = snap.get("cmp_vendors") or []
|
||||
# Consent-Phasen duplizieren Cookies → je Vendor nach Name deduplizieren.
|
||||
vendors = dedupe_vendor_cookies(snap.get("cmp_vendors") or [])
|
||||
names = [c.get("name", "")
|
||||
for v in vendors for c in (v.get("cookies") or [])]
|
||||
big = load_big_library(db, names)
|
||||
|
||||
Reference in New Issue
Block a user