From 40dedd7ce0dae1353445c5d2c59d9b0fedd31b41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Fri, 13 Jun 2025 20:52:33 +0200 Subject: [PATCH] [util] restore stdlib 're' module in filter expressions (#7665) fixes regression introduced in 4fc719bb106034c2fe1db4aafb616c5ab45e26ae --- gallery_dl/util.py | 8 ++++---- test/test_util.py | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/gallery_dl/util.py b/gallery_dl/util.py index 4ba5cfa1..9afd6dac 100644 --- a/gallery_dl/util.py +++ b/gallery_dl/util.py @@ -8,7 +8,7 @@ """Utility functions and classes""" -import re +import re as re_module import os import sys import json @@ -28,9 +28,9 @@ from email.utils import mktime_tz, parsedate_tz from . import text, version, exception try: - re_compile = re._compiler.compile + re_compile = re_module._compiler.compile except AttributeError: - re_compile = re.sre_compile.compile + re_compile = re_module.sre_compile.compile CACHE_PATTERN = {} @@ -791,7 +791,7 @@ GLOBALS = { "hash_sha1": sha1, "hash_md5" : md5, "std" : ModuleProxy(), - "re" : re, + "re" : re_module, "exts_image" : EXTS_IMAGE, "exts_video" : EXTS_VIDEO, "exts_archive": EXTS_ARCHIVE, diff --git a/test/test_util.py b/test/test_util.py index acb1f926..8053949f 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -161,6 +161,10 @@ class TestPredicate(unittest.TestCase): self.assertFalse(pred(url, {"a": 2})) + pred = util.FilterPredicate("re.search(r'.+', url)") + self.assertTrue(pred(url, {"url": "https://example.org/"})) + self.assertFalse(pred(url, {"url": ""})) + def test_build_predicate(self): pred = util.build_predicate([]) self.assertIsInstance(pred, type(lambda: True))