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: Дата введена некорректно или несуществующая