Загрузка данных


def _repair_mojibake(value: str) -> str:
    """
    Восстанавливает текст, повреждённый перекодировкой UTF-8 -> Latin-1/CP1252.
    """
    try:
        return value.encode("latin-1").decode("utf-8")
    except (UnicodeEncodeError, UnicodeDecodeError):
        return value


def _clean_value(value: Optional[str]) -> Optional[str]:
    """Нормализует значение из environment: None для пустых/служебных значений."""
    if value is None:
        return None
    cleaned = _repair_mojibake(value).strip()
    if not cleaned or cleaned.lower() in {"none", "null", "-"}:
        return None
    return cleaned