Функция: реализованы консольный логгер и презентер для обработки аудиокниг
- Добавлен ConsoleLogger для подробного логирования этапов обработки аудиокниг в консоли. - Введен ConsolePresenter для форматированного вывода результатов сканирования в консоль. - Создан ProcessAudioBooksUseCase для обработки полного конвейера обработки аудиокниг, включая сканирование папок, извлечение метаданных, поиск торрентов и запись результатов. - Реализована проверка LLM для улучшения метаданных. - Добавлена обработка ошибок и логирование на всех этапах обработки.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
// Package infrastructure содержит вспомогательные функции файловой системы.
|
||||
package infrastructure
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// audioExtensions — поддерживаемые расширения аудиофайлов.
|
||||
var audioExtensions = map[string]bool{
|
||||
".mp3": true,
|
||||
".m4a": true,
|
||||
".m4b": true,
|
||||
".ogg": true,
|
||||
".opus": true,
|
||||
".flac": true,
|
||||
".wma": true,
|
||||
".aac": true,
|
||||
".wav": true,
|
||||
}
|
||||
|
||||
// isAudioFile проверяет, является ли файл аудиофайлом по расширению.
|
||||
func isAudioFile(name string) bool {
|
||||
ext := strings.ToLower(filepath.Ext(name))
|
||||
return audioExtensions[ext]
|
||||
}
|
||||
|
||||
func isMP3File(name string) bool {
|
||||
ext := strings.ToLower(filepath.Ext(name))
|
||||
return ext == ".mp3"
|
||||
}
|
||||
Reference in New Issue
Block a user