Thanks to visit codestin.com
Credit goes to lib.rs

#cs #ported #parser #sonarr #absolute-episode

avatarr-parser

Release-name parser ported from Sonarr v4.0.17.2952

1 unstable release

Uses new Rust 2024

0.1.0 May 3, 2026

#2065 in Text processing

GPL-3.0-or-later

390KB
6.5K SLoC

Release-name parser ported from Sonarr v4.0.17.2952.

See THANKS.md for attribution; README.md for architecture.


avatarr-parser

Release-name parser for avatarr, ported from Sonarr v4.0.17.2952.

Purpose

Detect quality (resolution, source, modifier, revision) and language from release filenames and folder names: the same task Sonarr's QualityParser.cs and LanguageParser.cs perform on the C# side.

Architecture

Self-contained workspace member: no dependency on crates/core. The parser takes a release name in, returns typed QualityModel + Vec<Language> out. Downstream crates (avatarr-core, avatarr-cli, avatarr-gui) consume those types; the parser does not consume them.

Edition 2024 is set explicitly here (the rest of the workspace is on 2021). m50 makes parser edition-divergent on purpose to give the ported code a clean modern baseline.

Attribution

See THANKS.md for source SHA + license. Every ported file carries a per-file header pointing at its Sonarr origin.

Dependencies

~1.8–3MB
~50K SLoC