- Добавлен ConsoleLogger для подробного логирования этапов обработки аудиокниг в консоли. - Введен ConsolePresenter для форматированного вывода результатов сканирования в консоль. - Создан ProcessAudioBooksUseCase для обработки полного конвейера обработки аудиокниг, включая сканирование папок, извлечение метаданных, поиск торрентов и запись результатов. - Реализована проверка LLM для улучшения метаданных. - Добавлена обработка ошибок и логирование на всех этапах обработки.
28 lines
1.4 KiB
Go
28 lines
1.4 KiB
Go
// 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
|
||
}
|