"""Utilidades compartidas por los servicios.""" from __future__ import annotations import re import unicodedata def slugify(value: str) -> str: """Convierte un texto en un slug apto para URLs. Elimina acentos, pasa a minĂºsculas y reemplaza los separadores por guiones. """ normalized = ( unicodedata.normalize("NFKD", value) .encode("ascii", "ignore") .decode("ascii") ) normalized = re.sub(r"[^\w\s-]", "", normalized).strip().lower() slug = re.sub(r"[-\s]+", "-", normalized) return slug or "sin-nombre"