From 770f41eb4afcad5d5c6fc2d81c2afc4135c5504d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Mon, 6 Jan 2025 13:47:32 +0100 Subject: [PATCH] [util] support not splitting "contains" value (#6773) by passing any "false" value as 'separator' argument except None --- gallery_dl/util.py | 2 +- test/test_util.py | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gallery_dl/util.py b/gallery_dl/util.py index 72ec98ee..23020881 100644 --- a/gallery_dl/util.py +++ b/gallery_dl/util.py @@ -83,7 +83,7 @@ def unique_sequence(iterable): def contains(values, elements, separator=" "): """Returns True if at least one of 'elements' is contained in 'values'""" - if isinstance(values, str): + if isinstance(values, str) and (separator or separator is None): values = values.split(separator) if not isinstance(elements, (tuple, list)): diff --git a/test/test_util.py b/test/test_util.py index fa16c443..27f78ece 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -459,6 +459,15 @@ class TestOther(unittest.TestCase): self.assertFalse(util.contains(s, "tag1")) self.assertFalse(util.contains(s, ["tag1", "tag2", "tag3"])) + self.assertTrue(util.contains(s, "(+)", "")) + self.assertTrue(util.contains(s, ["(-)", "(+)"], "")) + self.assertTrue(util.contains(s, "(+)", 0)) + self.assertTrue(util.contains(s, "(+)", False)) + + self.assertFalse(util.contains(s, "(+)", None)) + self.assertTrue(util.contains(s, "y(+)c", None)) + self.assertTrue(util.contains(s, ["(-)", "(+)", "bar"], None)) + s = "1, 2, 3, asd, qwe, y(+)c, f(+)(-), bar" self.assertTrue(util.contains(s, "y(+)c", ", ")) self.assertTrue(util.contains(s, ["sdf", "dfg", "qwe"], ", "))