From 0d981e3d65eb96283f0f49722f20f32175c4757b Mon Sep 17 00:00:00 2001 From: Olezhich Date: Sat, 17 Jan 2026 10:46:33 +0300 Subject: [PATCH 1/2] replaygain [+-]a.bb dB pattern support has been added --- cuetools/types/validators.py | 2 +- tests/test_types.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/cuetools/types/validators.py b/cuetools/types/validators.py index 5a9ea74..c7bd624 100644 --- a/cuetools/types/validators.py +++ b/cuetools/types/validators.py @@ -3,7 +3,7 @@ PEAK_PATTERN = re.compile(r'^[01]\.\d{6}$') -GAIN_PATTERN = re.compile(r'^-?\d{1,2}\.\d{2}\s*dB$') +GAIN_PATTERN = re.compile(r'^[-+]?\d{1,2}\.\d{2}\s*dB$') def validate_frame_time(value: FrameTimeCls | str | int) -> FrameTimeCls: diff --git a/tests/test_types.py b/tests/test_types.py index f83da9b..631ca79 100644 --- a/tests/test_types.py +++ b/tests/test_types.py @@ -32,6 +32,9 @@ def test_ReplayGain_gain(): rem = AlbumRemData(replaygain_gain=17.84) # type: ignore assert rem.replaygain_gain == 17.84, 'using float to ReplayGain gain cast, >0 case' + rem = AlbumRemData(replaygain_gain='+1.23 dB') # type: ignore + assert rem.replaygain_gain == 1.23, 'check [+-]a.bb dB pattern' + with pytest.raises(ValidationError): AlbumRemData(replaygain_gain='7.8 dB') # type: ignore From 950b7f86bf8956de943e3b83a6c69bbc844ab117 Mon Sep 17 00:00:00 2001 From: Olezhich Date: Sat, 17 Jan 2026 10:48:27 +0300 Subject: [PATCH 2/2] changelog update --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f130835..ddfa88d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] +### Added +- Replaygain [+-]a.bb dB pattern support. + ## [1.1.0] - 2026-01-10 ## Added