Saltar a contenido

API — Configuración

rutificador.config.ConfiguracionRut dataclass

Clase de configuración para los parámetros de validación del RUT.

Source code in rutificador/config.py
@dataclass(frozen=True)
class ConfiguracionRut:
    """Clase de configuración para los parámetros de validación del RUT."""

    factores_verificacion: tuple[int, ...] = (2, 3, 4, 5, 6, 7)
    modulo: int = 11
    max_digitos: int = 9
    min_digitos: int = 1

    def __post_init__(self) -> None:
        """Valida los parámetros de configuración."""
        if self.modulo <= 0:
            raise ErrorValidacionRut(
                "El módulo debe ser positivo", codigo_error="CONFIGURACION_INVALIDA"
            )
        if self.max_digitos <= 0 or self.min_digitos <= 0:
            raise ErrorValidacionRut(
                "Los límites de dígitos deben ser positivos",
                codigo_error="CONFIGURACION_INVALIDA",
            )
        if self.min_digitos > self.max_digitos:
            raise ErrorValidacionRut(
                "El mínimo de dígitos no puede exceder al máximo",
                codigo_error="CONFIGURACION_INVALIDA",
            )

__post_init__

__post_init__() -> None

Valida los parámetros de configuración.

Source code in rutificador/config.py
def __post_init__(self) -> None:
    """Valida los parámetros de configuración."""
    if self.modulo <= 0:
        raise ErrorValidacionRut(
            "El módulo debe ser positivo", codigo_error="CONFIGURACION_INVALIDA"
        )
    if self.max_digitos <= 0 or self.min_digitos <= 0:
        raise ErrorValidacionRut(
            "Los límites de dígitos deben ser positivos",
            codigo_error="CONFIGURACION_INVALIDA",
        )
    if self.min_digitos > self.max_digitos:
        raise ErrorValidacionRut(
            "El mínimo de dígitos no puede exceder al máximo",
            codigo_error="CONFIGURACION_INVALIDA",
        )

rutificador.config.RigorValidacion

Bases: Enum

Enumeracion de niveles de rigurosidad de validacion.

  • ESTRICTO: rechaza cualquier variante de formato no canonica (espacios internos, guiones alternativos, etc.).
  • FLEXIBLE: normaliza esas variantes y emite advertencias NORMALIZACION_*.
Source code in rutificador/config.py
class RigorValidacion(Enum):
    """Enumeracion de niveles de rigurosidad de validacion.

    - ``ESTRICTO``: rechaza cualquier variante de formato no canonica
      (espacios internos, guiones alternativos, etc.).
    - ``FLEXIBLE``: normaliza esas variantes y emite advertencias
      ``NORMALIZACION_*``.
    """

    ESTRICTO = "estricto"
    FLEXIBLE = "flexible"

rutificador.config.CONFIGURACION_POR_DEFECTO module-attribute

CONFIGURACION_POR_DEFECTO = ConfiguracionRut()