Validators

Для создания собственного валидатора необходимо унаследовать класс от BaseValidator и указать целевой тип данных в квадратных скобках при наследовании, а также переопределить два статических метода: validate() и convert().

В качестве имени кастомного валидатора рекомендуется использовать CustomValidator_{TYPE}, что позволяет извлекать тип при генерации исключений.

Любой валидатор наследует также метод parse(), автоматически валидирующий и приводящий значение к нужному типу, а в случае ошибки выбрасывающий исключение типа ValidationError.

Создание

from dublib.CLI.Validators import BaseValidator

class CustomValidator_ExampleBool(BaseValidator[bool]):

        @staticmethod
        def convert(value: str) -> bool:
                value = value.lower()
                if value in ("true",): return True

                return False

        @staticmethod
        def validate(value: str) -> bool:
                Buffer = value.lower()

                return Buffer in ("true", "false")

Использование

После создания кастомного валидатора его можно использовать в Terminalyzer как указатель ожидаемого типа параметра.

from dublib.CLI.Terminalyzer import Terminalyzer, Command, ValidableTypes

from enum import Enum

class CustomValidableTypes(ValidableTypes):
        ExampleBool = CustomValidator_ExampleBool

Commands = list()

Com = Command("example")
Com.base.add_argument(CustomValidableTypes.ExampleBool)
Commands.append(Com)

# Дальнейшая обработка через Terminalyzer...

Представленные типы

class dublib.CLI.Validators.BaseValidator[исходный код]

Базовый валидатор строки.

abstractmethod static convert(value: str) _PARSED_VALUE[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

Any

classmethod parse(value: str) _PARSED_VALUE[исходный код]

Проводит валидацию строки и преобразует её в целевой тип.

Параметры:

value (str) – Обрабатываемая строка.

Результат:

Результат преобразования.

Тип результата:

Any

abstractmethod static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool

class dublib.CLI.Validators.ValidableTypes(*values)[исходный код]

Перечисление типов валидаторов.

class dublib.CLI.Validators.Validator_All[исходный код]
static convert(value: str) str[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

str

static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool

class dublib.CLI.Validators.Validator_Alpha[исходный код]
static convert(value: str) str[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

str

static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool

class dublib.CLI.Validators.Validator_Base64[исходный код]
static convert(value: str) str[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

str

static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool

class dublib.CLI.Validators.Validator_Bool[исходный код]
static convert(value: str) bool[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

bool

static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool

class dublib.CLI.Validators.Validator_Datetime[исходный код]
static convert(value: str) datetime[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

datetime

static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool

class dublib.CLI.Validators.Validator_Email[исходный код]
static convert(value: str) str[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

str

static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool

class dublib.CLI.Validators.Validator_Float[исходный код]
static convert(value: str) float[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

float

static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool

class dublib.CLI.Validators.Validator_IPv4[исходный код]
static convert(value: str) str[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

str

static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool

class dublib.CLI.Validators.Validator_IPv6[исходный код]
static convert(value: str) str[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

str

static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool

class dublib.CLI.Validators.Validator_Integer[исходный код]
static convert(value: str) int[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

int

static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool

class dublib.CLI.Validators.Validator_Number[исходный код]
static convert(value: str) float | int[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

float | int

static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool

class dublib.CLI.Validators.Validator_Path[исходный код]
static convert(value: str) Path[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

Path

static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool

class dublib.CLI.Validators.Validator_URL[исходный код]
static convert(value: str) str[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

str

static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool

class dublib.CLI.Validators.Validator_UnsignedInteger[исходный код]
static convert(value: str) int[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

int

static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool

class dublib.CLI.Validators.Validator_ValidPath[исходный код]
static convert(value: str) Path[исходный код]

Конвертирует строку в значение определённого типа.

Параметры:

value (str) – Конвертируемая строка.

Результат:

Конвертированное значение.

Тип результата:

Path

static validate(value: str) bool[исходный код]

Проверяет, соответствует ли строка критериям валидируемого типа.

Параметры:

value (str) – Проверяемая строка.

Результат:

Возвращает True, если строка является валидным значением типа.

Тип результата:

bool