- Реализовать тесты для поиска MP3-файлов и переименования/организации папок книг в репозитории файловой системы. - Создать FileLogger для записи сообщений в файл с поддержкой различных уровней журналирования и управления размером файлов. - Разработать репозиторий RuTracker для обработки поиска торрентов, получения метаданных и загрузки торрент-файлов. - Добавить тесты для нормализации URL в репозиторий RuTracker. - Реализовать адаптер логгера TUI для отображения логов в терминальном интерфейсе и, при необходимости, для записи логов в базовый логгер. - Создать менеджер TUI для управления пользовательским интерфейсом приложения, включая главное меню, экран обработки, настройки и отображение результатов.
41 lines
1.3 KiB
Go
41 lines
1.3 KiB
Go
package entities
|
||
|
||
// Config главная конфигурация приложения
|
||
type Config struct {
|
||
Scanner ScannerConfig `yaml:"scanner"`
|
||
RuTracker RuTrackerConfig `yaml:"rutracker"`
|
||
Processing ProcessingConfig `yaml:"processing"`
|
||
Output OutputConfig `yaml:"output"`
|
||
}
|
||
|
||
// ScannerConfig настройки сканирования файлов
|
||
type ScannerConfig struct {
|
||
SourceDirectory string `yaml:"source_directory"`
|
||
TargetDirectory string `yaml:"target_directory"`
|
||
}
|
||
|
||
// RuTrackerConfig настройки для работы с RuTracker
|
||
type RuTrackerConfig struct {
|
||
BaseURL string `yaml:"base_url"`
|
||
UserAgent string `yaml:"user_agent"`
|
||
RequestDelay int `yaml:"request_delay"`
|
||
Username string `yaml:"username"`
|
||
Password string `yaml:"password"`
|
||
}
|
||
|
||
// ProcessingConfig настройки обработки
|
||
type ProcessingConfig struct {
|
||
ParallelWorkers int `yaml:"parallel_workers"`
|
||
TimeoutSeconds int `yaml:"timeout_seconds"`
|
||
RetryAttempts int `yaml:"retry_attempts"`
|
||
}
|
||
|
||
// OutputConfig настройки вывода и логирования
|
||
type OutputConfig struct {
|
||
LogLevel string `yaml:"log_level"`
|
||
ProgressBar bool `yaml:"progress_bar"`
|
||
LogToFile bool `yaml:"log_to_file"`
|
||
LogFileName string `yaml:"log_file_name"`
|
||
LogMaxSizeMB int `yaml:"log_max_size_mb"`
|
||
}
|