utils module

utils.validate_amount(amount_str: str) float[исходный код]

Проверяет и преобразует строковое представление суммы в число.

Функция нормализует входную строку, заменяя десятичные запятые на точки, проверяет соответствие формату числа и гарантирует, что значение положительно.

Параметры:

amount_str (str) – Строка, содержащая сумму (например, «100», «100.50», «100,50»).

Результат:

Сумма в виде числа с плавающей запятой.

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

float

Исключение:
  • ValueError – Если входные данные не являются строкой.

  • ValueError – Если строка пуста или содержит недопустимые символы.

  • ValueError – Если итоговое число меньше или равно нулю.

Примеры

>>> validate_amount("100,50")
100.5
>>> validate_amount(" 50.0 ")
50.0
utils.validate_category(category_str: str) str[исходный код]

Проверяет корректность названия категории и очищает его.

Функция гарантирует, что категория не является пустой и содержит только допустимые символы. Строка очищается от начальных и конечных пробелов.

Параметры:

category_str (str) – Название категории для проверки.

Результат:

Очищенная строка категории (без лишних пробелов по краям).

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

str

Исключение:
  • ValueError – Если входной аргумент не является строкой.

  • ValueError – Если после удаления пробелов строка оказалась пустой.

  • ValueError – Если строка содержит спецсимволы (разрешены только буквы, цифры, пробелы и дефисы).

Примеры

>>> validate_category(" Продукты-2026 ")
'Продукты-2026'
>>> validate_category("Зарплата!")
Traceback (most recent call last):
    ...
ValueError: Категория может содержать только буквы, цифры, пробелы и дефисы
utils.validate_date(date_str: str) str[исходный код]

Проверяет корректность строкового представления даты.

Функция выполняет комплексную проверку: на соответствие типу данных, соблюдение формата ГГГГ-ММ-ДД и валидность самой календарной даты.

Параметры:

date_str (str) – Строка с датой для проверки. Ожидаемый формат: „YYYY-MM-DD“.

Результат:

Очищенная от пробелов строка даты, если все проверки пройдены успешно.

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

str

Исключение:
  • ValueError – Если входной параметр не является строкой или строка пуста.

  • ValueError – Если строка не соответствует шаблону ГГГГ-ММ-ДД.

  • ValueError – Если указанная дата календарно не существует (например, 2026-02-30).

Примеры

>>> validate_date(" 2026-01-06 ")
'2026-01-06'
>>> validate_date("2026-13-01")
Traceback (most recent call last):
    ...
ValueError: Дата введена некорректно или несуществующая