Near-duplicate dedup rebuilt on three gates, backup credential leak closed, library consolidation started #255
@@ -54,6 +54,12 @@ def _misplaced_conditions(images_root: Path, artist_id: int, slug: str) -> list:
|
||||
`ara` would match every path under `arbuzbudesh/`, and the sweep would
|
||||
report one artist's whole library as correctly placed while quietly
|
||||
skipping another's.
|
||||
|
||||
`startswith` compiles to LIKE, where `_` and `%` are wildcards, and this
|
||||
does not escape them. That is safe ONLY because `utils.slug.slugify`
|
||||
reduces a slug to `[a-z0-9-]` — neither character can reach the pattern.
|
||||
Widen that charset and this needs `autoescape=True`, or `poch4n_art`
|
||||
starts matching `poch4nXart` too.
|
||||
"""
|
||||
prefix = f"{canonical_dir(images_root, slug)}/"
|
||||
return [
|
||||
|
||||
Reference in New Issue
Block a user