From 826b557f6dcb14a77ea730b6a5a13402dda1b5f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Mon, 8 Dec 2025 10:32:46 +0100 Subject: [PATCH] =?UTF-8?q?[util]=20support=20integer=20values=20for=20'?= =?UTF-8?q?=E2=80=A6-range'=20options=20(#8604)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gallery_dl/util.py | 2 ++ test/test_util.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/gallery_dl/util.py b/gallery_dl/util.py index 7fc3363c..7d54d4c4 100644 --- a/gallery_dl/util.py +++ b/gallery_dl/util.py @@ -1011,6 +1011,8 @@ class RangePredicate(): if isinstance(rangespec, str): rangespec = rangespec.split(",") + elif isinstance(rangespec, int): + rangespec = (str(rangespec),) for group in rangespec: if not group: diff --git a/test/test_util.py b/test/test_util.py index 7f278a93..67848748 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -40,6 +40,7 @@ class TestRange(unittest.TestCase): def test_parse_digit(self): f = self.predicate._parse + self.assertEqual(f(2), [range(2, 3)]) self.assertEqual(f("2"), [range(2, 3)]) self.assertEqual( @@ -48,6 +49,12 @@ class TestRange(unittest.TestCase): range(3, 4), range(4, 5)], ) + self.assertEqual( + f(["2", "3", "4"]), + [range(2, 3), + range(3, 4), + range(4, 5)], + ) def test_parse_range(self): f = self.predicate._parse