Добавить тесты репозитория файловой системы и реализовать функциональность журналирования файлов.
- Реализовать тесты для поиска MP3-файлов и переименования/организации папок книг в репозитории файловой системы. - Создать FileLogger для записи сообщений в файл с поддержкой различных уровней журналирования и управления размером файлов. - Разработать репозиторий RuTracker для обработки поиска торрентов, получения метаданных и загрузки торрент-файлов. - Добавить тесты для нормализации URL в репозиторий RuTracker. - Реализовать адаптер логгера TUI для отображения логов в терминальном интерфейсе и, при необходимости, для записи логов в базовый логгер. - Создать менеджер TUI для управления пользовательским интерфейсом приложения, включая главное меню, экран обработки, настройки и отображение результатов.
This commit is contained in:
40
internal/domain/entities/config.go
Normal file
40
internal/domain/entities/config.go
Normal file
@@ -0,0 +1,40 @@
|
||||
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"`
|
||||
}
|
||||
Reference in New Issue
Block a user