Функция: реализованы консольный логгер и презентер для обработки аудиокниг
- Добавлен ConsoleLogger для подробного логирования этапов обработки аудиокниг в консоли. - Введен ConsolePresenter для форматированного вывода результатов сканирования в консоль. - Создан ProcessAudioBooksUseCase для обработки полного конвейера обработки аудиокниг, включая сканирование папок, извлечение метаданных, поиск торрентов и запись результатов. - Реализована проверка LLM для улучшения метаданных. - Добавлена обработка ошибок и логирование на всех этапах обработки.
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
// Package domain содержит бизнес-сущности и интерфейсы (порты) приложения.
|
||||
// Этот слой не зависит ни от чего внешнего — только чистые структуры и контракты.
|
||||
package domain
|
||||
|
||||
import "time"
|
||||
|
||||
// AudioBookInfo — агрегат, содержащий метаданные аудиокниги.
|
||||
type AudioBookInfo struct {
|
||||
FolderPath string // путь к папке с аудиокнигой
|
||||
Title string // название книги
|
||||
Author string // автор
|
||||
Album string // альбом (часто совпадает с названием)
|
||||
Genre string // жанр
|
||||
Year int // год издания
|
||||
Comment string // описание / комментарий
|
||||
Duration time.Duration // длительность первого трека
|
||||
Format string // формат файла (mp3, m4b, ogg …)
|
||||
SourceFile string // файл, из которого извлечены метаданные
|
||||
CoverFound bool // обложка найдена
|
||||
FilesCount int // количество аудиофайлов в папке
|
||||
}
|
||||
|
||||
// ScanResult оборачивает результат сканирования одной папки.
|
||||
type ScanResult struct {
|
||||
Info *AudioBookInfo
|
||||
Err error
|
||||
}
|
||||
Reference in New Issue
Block a user