[util] implement 'compile_filter()' (#5262)

https://github.com/mikf/gallery-dl/issues/5262#issuecomment-2477029728

allow (theoretically*) all filter expression statements
to be a list of individual filters

(*) except for 'filename' and 'directory' conditionals,
as dict keys cannot be lists
This commit is contained in:
Mike Fährmann
2024-11-14 21:59:32 +01:00
parent 0b99d9e6b9
commit 5bc3657c59
4 changed files with 20 additions and 7 deletions

View File

@@ -38,7 +38,7 @@ class PathFormat():
filename_fmt = extractor.filename_fmt
elif isinstance(filename_fmt, dict):
self.filename_conditions = [
(util.compile_expression(expr),
(util.compile_filter(expr),
formatter.parse(fmt, kwdefault).format_map)
for expr, fmt in filename_fmt.items() if expr
]
@@ -57,7 +57,7 @@ class PathFormat():
directory_fmt = extractor.directory_fmt
elif isinstance(directory_fmt, dict):
self.directory_conditions = [
(util.compile_expression(expr), [
(util.compile_filter(expr), [
formatter.parse(fmt, kwdefault).format_map
for fmt in fmts
])