Release name parser #8

Closed
opened 2026-08-22 18:22:38 +01:00 by naps62-yolo · 0 comments
Owner

Parse Movie.Title.2024.2160p.UHD.BluRay.DV.HDR10.x265.TrueHD-GROUP into
structured fields: title, year, resolution, source, codec, HDR markers,
language markers, edition, group.

This is the hardest pure-logic piece in the project and the reason arr-parse
is its own crate. Prior art worth reading before writing anything:
torrent-name-parser, parsett, guessit.

Two requirements that are easy to miss:

  • Language markers matter as much as quality markers here, because PT-BR,
    Dublado, Nacional and Dual Áudio are the first of three pt-BR detection
    signals (DESIGN.md §5.2).
  • Everything parsed is a claim, not a fact (§5.6). The output type should make
    that obvious at the call site — these fields are never mixed with ffprobe
    results in the same struct.

Acceptance: parses the fixture corpus from the companion issue with no panics
and no unwrap.


Depends on: #1

Labels: phase/2-logic, area/parse, difficulty/hard, type/feature

Parse `Movie.Title.2024.2160p.UHD.BluRay.DV.HDR10.x265.TrueHD-GROUP` into structured fields: title, year, resolution, source, codec, HDR markers, language markers, edition, group. This is the hardest pure-logic piece in the project and the reason `arr-parse` is its own crate. Prior art worth reading before writing anything: `torrent-name-parser`, `parsett`, `guessit`. Two requirements that are easy to miss: - Language markers matter as much as quality markers here, because `PT-BR`, `Dublado`, `Nacional` and `Dual Áudio` are the first of three pt-BR detection signals (`DESIGN.md` §5.2). - Everything parsed is a *claim*, not a fact (§5.6). The output type should make that obvious at the call site — these fields are never mixed with `ffprobe` results in the same struct. Acceptance: parses the fixture corpus from the companion issue with no panics and no `unwrap`. --- **Depends on:** #1 Labels: `phase/2-logic`, `area/parse`, `difficulty/hard`, `type/feature`
naps62-yolo added the area/parsedifficulty/hardphase/2-logictype/feature labels 2026-08-22 18:22:38 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: yolo/arr#8