[Bug] dynamic: true + precision: datetime без --date падает: parse_date_range принимает только даты #59
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Проблема
При сочетании
period.dynamic: trueиperiod.precision: datetimeзапуск без--dateпадает:Причина:
compute_next_period()дляprecision: datetimeвозвращает диапазон вида2026-07-10T12:00:01--2026-07-20T00:00:01, которыйget_default_date_range()(redmine_reporter/config.py:385-390) подставляет как период по умолчанию. Аparse_date_range()(redmine_reporter/cli.py:21-42) принимает только даты:Подтверждено экспериментом:
compute_next_period(..., "datetime")→2026-07-10T12:00:01--2026-07-20T00:00:01;parse_date_rangeего отвергает.Иными словами, режим
precision: datetimeиз #47 неработоспособен в основном сценарии — автоматическом вычислении следующего периода — даже после исправления краша дедупликации (см. связанную задачу про naive/aware datetime).Пример воспроизведения
Рекомендации
parse_date_range()принимать ISO datetime (YYYY-MM-DDTHH:MM:SS) в дополнение к дате приperiod.precision: datetime— либо нормализовать период к датам на сторонеget_default_date_range()/compute_next_period()до передачи в парсер. Выбрать один подход и задокументировать.--date(полный цикл),--dateс datetime-строками приprecision: datetime, неизменность поведения приprecision: date.Связанные места
redmine_reporter/cli.py:21-42(parse_date_range)redmine_reporter/config.py:370-399(get_default_date_range)redmine_reporter/config.py(compute_next_period)Критерии приёмки
precision: dateповедение не изменилось.