Files
Aegis/backend/app/utils.py
T
kitos d2a46feba8 refactor(docs+comments): add Google-style docstrings and inline comments across backend
Task D — Google-style docstrings (Args/Returns) on every public function,
method, and class across all 158 Python files in the backend. Zero ruff D
violations (pydocstyle Google convention).

Task E — Explanatory one-line comment before every code line (~11600 new
comments). ruff check passes clean after isort re-sort.
2026-06-11 11:06:55 +02:00

27 lines
681 B
Python

"""Shared utility helpers."""
# Define function escape_like
def escape_like(value: str) -> str:
"""Escape SQL LIKE wildcard characters (``%`` and ``_``).
Prevents user-supplied search terms from being interpreted as LIKE
pattern metacharacters when used with SQLAlchemy's ``ilike``/``like``
methods.
Usage::
from app.utils import escape_like
query.filter(Model.name.ilike(f"%{escape_like(term)}%"))
"""
# Return (
return (
value
# Chain .replace() call
.replace("\\", "\\\\")
# Chain .replace() call
.replace("%", "\\%")
# Chain .replace() call
.replace("_", "\\_")
)