feat: add --group-by manufacturer for split packs

This commit is contained in:
Abdessamad Derraz
2026-03-28 00:45:12 +01:00
parent 94a28f5459
commit 3ded72f72b
3 changed files with 65 additions and 0 deletions

View File

@@ -655,6 +655,21 @@ MANUFACTURER_PREFIXES = (
)
def derive_manufacturer(system_id: str, system_data: dict) -> str:
"""Derive manufacturer name for a system.
Priority: explicit manufacturer field > system ID prefix > 'Other'.
"""
mfr = system_data.get("manufacturer", "")
if mfr and mfr not in ("Various", "Other"):
return mfr.split("|")[0].strip()
s = system_id.lower().replace("_", "-")
for prefix in MANUFACTURER_PREFIXES:
if s.startswith(prefix):
return prefix.rstrip("-").title()
return "Other"
def _norm_system_id(sid: str) -> str:
"""Normalize system ID for cross-platform matching.