Files
psp-preservation-tool/app/pipeline.py
T
2026-09-06 22:30:13 -04:00

17 lines
754 B
Python

"""High-level identification: match + canonical naming for one scanned disc."""
from . import iso_reader, matcher, namer
def identify(conn, record):
"""Return ``{method, release, serial, canonical}`` for a scanned disc record."""
method, release = matcher.match(conn, record)
return identify_with_release(record, release, method)
def identify_with_release(record, release, method):
serial = record.get("serial")
if not serial and release and iso_reader.looks_like_serial(release.get("serial")):
serial = iso_reader.normalize_serial(release.get("serial"))
canonical = namer.canonical_name(release, serial) if release else None
return {"method": method, "release": release, "serial": serial, "canonical": canonical}