Deploy-Befunde gefixt: Disc-Typ-Verlust, giftiger Prescan-Cache, caps-Import
Ampel / ampel (push) Failing after 28s
Ampel / ampel (push) Failing after 28s
- Pre-Scan verlor den erkannten Typ (BDs hiessen immer "DVD"): scan() reicht disc_type jetzt in die Zweige durch - GIFTIG: Cache-Key nur aus Geraetepfad — die naechste Disc im selben Laufwerk haette die Metadaten der vorherigen geerbt. Key enthaelt jetzt einen Disc-Fingerabdruck (Label|Groesse) - Worker-Faehigkeiten: import caps auf Modulebene — im worker_ready-Signal war /app nicht mehr im sys.path (ModuleNotFoundError im Deploy-Log) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -143,6 +143,16 @@ class PreScan:
|
||||
"""Führe Pre-Scan durch."""
|
||||
disc_type = self._detect_disc_type(device_path)
|
||||
toc = self._read_toc(device_path, disc_type)
|
||||
# Typ + Disc-Fingerabdruck (Label|Größe) an die Zweige durchreichen —
|
||||
# der Typ ging vorher verloren (BDs hießen immer "DVD"), und der
|
||||
# Cache-Key braucht den Fingerabdruck (sonst erbt die nächste Disc
|
||||
# die Metadaten der vorherigen).
|
||||
toc["disc_type"] = disc_type
|
||||
try:
|
||||
groesse = detection.disc_size_bytes(device_path)
|
||||
except OSError:
|
||||
groesse = 0
|
||||
toc["fingerprint"] = f"{toc.get('title') or 'unbekannt'}|{groesse}"
|
||||
|
||||
if disc_type == "CD":
|
||||
return self._scan_audio(device_path, toc)
|
||||
@@ -214,7 +224,7 @@ class PreScan:
|
||||
|
||||
def _scan_audio(self, device_path: str, toc: Dict) -> PreScanResult:
|
||||
"""Pre-Scan für Audio-CD."""
|
||||
cache_key = generate_prescan_key(device_path, is_audio=True)
|
||||
cache_key = generate_prescan_key(device_path, is_audio=True, fingerprint=toc.get("fingerprint", ""))
|
||||
cached = get(cache_key)
|
||||
if cached:
|
||||
return PreScanResult(**cached)
|
||||
@@ -267,7 +277,7 @@ class PreScan:
|
||||
|
||||
def _scan_video(self, device_path: str, toc: Dict) -> PreScanResult:
|
||||
"""Pre-Scan für DVD/Blu-ray."""
|
||||
cache_key = generate_prescan_key(device_path, is_audio=False)
|
||||
cache_key = generate_prescan_key(device_path, is_audio=False, fingerprint=toc.get("fingerprint", ""))
|
||||
cached = get(cache_key)
|
||||
if cached:
|
||||
return PreScanResult(**cached)
|
||||
|
||||
Reference in New Issue
Block a user