Откройте контекст
Выберите папку проекта и обозначьте нужные файлы или поведение.
Разберите целое число ASCII с суффиксом ms, s, m или h в миллисекунды с пределом одни сутки. Проверьте ноль и суточную границу, отклоняя ведущие нули, дроби, пробелы и неизвестные единицы.
Выберите папку проекта и обозначьте нужные файлы или поведение.
Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.
Проверьте предлагаемые изменения и команды, прежде чем полагаться на результат.
Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
import re
def duration_ms(text):
if not isinstance(text, str):
raise ValueError("duration.text")
match = re.fullmatch(r"(0|[1-9][0-9]{0,8})(ms|s|m|h)", text)
if not match:
raise ValueError("duration.syntax")
result = int(match[1]) * {"ms": 1, "s": 1000, "m": 60000, "h": 3600000}[match[2]]
if result > 86400000:
raise ValueError("duration.range")
return resultПример — отправная точка для реального проекта, а не утверждение, что сгенерированный код уже протестирован. Адаптируйте пути, зависимости и ожидаемое поведение к своему приложению.