fix: strip '*' prefix from sha256sum filenames in checksums parser

The checksums.txt files on GitHub Releases use the standard
sha256sum format where binary-mode files have a '*' prefix
(e.g. '70c4... *firefox-150.0.1-stealth-linux-x86_64.tar.gz').

_parse_checksums() was using parts[-1] as the filename key
directly, which included the '*', causing the lookup for a
clean-filename asset (e.g. 'firefox-150.0.1-stealth-linux-x86_64.tar.gz')
to fail with 'no SHA256 in checksums.txt'.

Fix strips leading '*' from the filename key before insertion.
This commit is contained in:
LostBoxArt 2026-05-20 21:01:34 +03:00
parent 567717dfd7
commit 4e4b6f0503

View file

@ -96,7 +96,9 @@ def _parse_checksums(text: str) -> dict[str, str]:
continue
parts = line.split()
if len(parts) >= 2:
out[parts[-1]] = parts[0]
# sha256sum uses ' *' or ' ' prefix for binary vs text mode
key = parts[-1].lstrip("*")
out[key] = parts[0]
return out