From 7d7777c1191d4a2b6968ff9818ca9f19a70b98a9 Mon Sep 17 00:00:00 2001 From: Jesse Bannon Date: Fri, 3 Mar 2023 10:56:18 -0800 Subject: [PATCH] [REFACTOR] init ffmpeg paths in config initialize function (#501) * [REFACTOR] init ffmpeg paths in config initialize function * init within init --- src/ytdl_sub/cli/main.py | 2 +- src/ytdl_sub/config/config_file.py | 11 ++++++++++- src/ytdl_sub/subscriptions/subscription_download.py | 7 ------- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/ytdl_sub/cli/main.py b/src/ytdl_sub/cli/main.py index c3267fbb..b3b7f456 100644 --- a/src/ytdl_sub/cli/main.py +++ b/src/ytdl_sub/cli/main.py @@ -127,7 +127,7 @@ def main() -> List[Tuple[Subscription, FileHandlerTransactionLog]]: args, extra_args = parser.parse_known_args() # Load the config - config: ConfigFile = ConfigFile.from_file_path(args.config).initialize() + config: ConfigFile = ConfigFile.from_file_path(args.config) transaction_logs: List[Tuple[Subscription, FileHandlerTransactionLog]] = [] with working_directory_lock(config=config): diff --git a/src/ytdl_sub/config/config_file.py b/src/ytdl_sub/config/config_file.py index 197a82ce..00a03efe 100644 --- a/src/ytdl_sub/config/config_file.py +++ b/src/ytdl_sub/config/config_file.py @@ -3,6 +3,7 @@ from typing import Any from ytdl_sub.config.config_validator import ConfigValidator from ytdl_sub.config.preset import Preset +from ytdl_sub.utils.ffmpeg import FFMPEG from ytdl_sub.utils.yaml import load_yaml @@ -15,7 +16,10 @@ class ConfigFile(ConfigValidator): for preset_name, preset_dict in self.presets.dict.items(): Preset.preset_partial_validate(config=self, name=preset_name, value=preset_dict) - def initialize(self): + # After validation, perform initialization + self._initialize() + + def _initialize(self): """ Configures things (umask, pgid) prior to any downloading @@ -26,6 +30,11 @@ class ConfigFile(ConfigValidator): if self.config_options.umask: os.umask(int(self.config_options.umask, 8)) + FFMPEG.set_paths( + ffmpeg_path=self.config_options.ffmpeg_path, + ffprobe_path=self.config_options.ffprobe_path, + ) + return self @classmethod diff --git a/src/ytdl_sub/subscriptions/subscription_download.py b/src/ytdl_sub/subscriptions/subscription_download.py index 1e9fb43c..05460ba1 100644 --- a/src/ytdl_sub/subscriptions/subscription_download.py +++ b/src/ytdl_sub/subscriptions/subscription_download.py @@ -11,7 +11,6 @@ from ytdl_sub.subscriptions.base_subscription import BaseSubscription from ytdl_sub.subscriptions.subscription_ytdl_options import SubscriptionYTDLOptions from ytdl_sub.utils.datetime import to_date_range from ytdl_sub.utils.exceptions import ValidationException -from ytdl_sub.utils.ffmpeg import FFMPEG from ytdl_sub.utils.file_handler import FileHandler from ytdl_sub.utils.file_handler import FileHandlerTransactionLog from ytdl_sub.utils.file_handler import FileMetadata @@ -266,12 +265,6 @@ class SubscriptionDownload(BaseSubscription, ABC): If true, do not download any video/audio files or move anything to the output directory. """ - # Set ffmpeg paths - FFMPEG.set_paths( - ffmpeg_path=self._config_options.ffmpeg_path, - ffprobe_path=self._config_options.ffprobe_path, - ) - self._enhanced_download_archive.reinitialize(dry_run=dry_run) plugins = self._initialize_plugins()