From d78a2c7163e4be0e2ba717ac384f7c59c971425c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Thu, 7 Apr 2022 15:35:54 +0200 Subject: [PATCH] re.escape() arguments for 'contains()' (#2446) --- gallery_dl/util.py | 2 +- test/test_util.py | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/gallery_dl/util.py b/gallery_dl/util.py index 657f66ba..078bb1cb 100644 --- a/gallery_dl/util.py +++ b/gallery_dl/util.py @@ -79,7 +79,7 @@ def contains(values, elements): if isinstance(values, str): fmt = r"\b{}\b".format for e in elements: - if re.search(fmt(e), values): + if re.compile(fmt(re.escape(e))).search(values): return True else: for e in elements: diff --git a/test/test_util.py b/test/test_util.py index b7684601..da0724a1 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -328,9 +328,8 @@ class TestOther(unittest.TestCase): self.assertFalse(util.contains(c, "bar")) self.assertFalse(util.contains(c, [2, 5, "bar"])) - s = "1, 2, 3, asd, qwe, yxc, foo, bar" - self.assertTrue(util.contains(s, 2)) - self.assertTrue(util.contains(s, "asd")) + s = "1, 2, 3, asd, qwe, y(+)c, f(+)(-), bar" + self.assertTrue(util.contains(s, "y(+)c")) self.assertTrue(util.contains(s, ["asd", "qwe", "yxc"])) self.assertTrue(util.contains(s, ["sdf", "dfg", "qwe"])) self.assertFalse(util.contains(s, "tag1"))