1
1

Добавить функциональность репортинга прогресса обработки аудиокниг и экран конфигурации

This commit is contained in:
Dmitriy Fofanov
2025-09-30 14:04:38 +03:00
parent 72a66f1664
commit e4ba057abb
3 changed files with 317 additions and 120 deletions

View File

@@ -60,6 +60,10 @@ func main() {
rutrackerRepo,
logger,
)
// Подключаем репортер прогресса к TUI
processUseCase.SetProgressReporter(func(s entities.ProcessingStatus) {
tuiManager.SendStatusUpdate(s)
})
// Создание процессора для обработки команд
processor := &ApplicationProcessor{
@@ -102,36 +106,14 @@ func (p *ApplicationProcessor) StartProcessing() {
p.logger.Info("Запуск обработки аудиокниг...")
}
// Обновим UI статус
p.tuiManager.SendStatusUpdate(entities.ProcessingStatus{
Current: 0,
Total: 1,
Status: "Начинаем обработку...",
Error: nil,
})
// Запускаем обработку
// Запускаем обработку (репортинг прогресса выполняет use case)
if err := p.processUseCase.Execute(p.config); err != nil {
if p.logger != nil {
p.logger.Error("Ошибка обработки: %v", err)
}
p.tuiManager.SendStatusUpdate(entities.ProcessingStatus{
Current: 0,
Total: 1,
Status: "Ошибка обработки",
Error: err,
})
return
}
// Успешное завершение
p.tuiManager.SendStatusUpdate(entities.ProcessingStatus{
Current: 1,
Total: 1,
Status: "Обработка завершена успешно!",
Error: nil,
})
if p.logger != nil {
p.logger.Success("Обработка аудиокниг завершена успешно")
}