From ad8d30b83fae86d0cca5fcddaa9bd50f8c88854a Mon Sep 17 00:00:00 2001 From: Jesse Bannon Date: Sat, 3 May 2025 19:39:38 -0700 Subject: [PATCH] make as cli arg --- src/ytdl_sub/cli/entrypoint.py | 2 +- src/ytdl_sub/cli/output_summary.py | 8 +++----- src/ytdl_sub/cli/parsers/main.py | 12 ++++++++++++ src/ytdl_sub/config/config_validator.py | 10 ---------- tests/unit/cli/test_output_summary.py | 6 +++--- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/ytdl_sub/cli/entrypoint.py b/src/ytdl_sub/cli/entrypoint.py index c48ccd56..eace6173 100644 --- a/src/ytdl_sub/cli/entrypoint.py +++ b/src/ytdl_sub/cli/entrypoint.py @@ -271,6 +271,6 @@ def main() -> List[Subscription]: transaction_log_file_path=args.transaction_log, ) - output_summary(subscriptions, config=config) + output_summary(subscriptions, suppress_colors=args.suppress_colors) return subscriptions diff --git a/src/ytdl_sub/cli/output_summary.py b/src/ytdl_sub/cli/output_summary.py index 3038f588..c3163518 100644 --- a/src/ytdl_sub/cli/output_summary.py +++ b/src/ytdl_sub/cli/output_summary.py @@ -36,14 +36,14 @@ def _color_int(value: int, suppress_colors: bool = False) -> str: return _no_color(str_int, suppress_colors) -def output_summary(subscriptions: List[Subscription], config: ConfigFile) -> None: +def output_summary(subscriptions: List[Subscription], suppress_colors: bool) -> None: """ Parameters ---------- subscriptions Processed subscriptions - config - ConfigFile instance + suppress_colors + Whether to have color or not Returns ------- @@ -57,8 +57,6 @@ def output_summary(subscriptions: List[Subscription], config: ConfigFile) -> Non summary: List[str] = [] - suppress_colors = config.config_options.suppress_colors - # Initialize totals to 0 total_subs: int = len(subscriptions) total_subs_str = f"Total: {total_subs}" diff --git a/src/ytdl_sub/cli/parsers/main.py b/src/ytdl_sub/cli/parsers/main.py index 3c31e900..6ecf0de2 100644 --- a/src/ytdl_sub/cli/parsers/main.py +++ b/src/ytdl_sub/cli/parsers/main.py @@ -44,6 +44,10 @@ class MainArguments: short="-m", long="--match", ) + SUPPRESS_COLORS = CLIArgument( + short="-nc", + long="--suppress-colors" + ) @classmethod def all(cls) -> List[CLIArgument]: @@ -59,6 +63,7 @@ class MainArguments: cls.TRANSACTION_LOG, cls.SUPPRESS_TRANSACTION_LOG, cls.MATCH, + cls.SUPPRESS_COLORS, ] @classmethod @@ -129,6 +134,13 @@ def _add_shared_arguments(arg_parser: argparse.ArgumentParser, suppress_defaults help="do not output transaction logs to console or file", default=argparse.SUPPRESS if suppress_defaults else False, ) + arg_parser.add_argument( + MainArguments.SUPPRESS_COLORS.short, + MainArguments.SUPPRESS_COLORS.long, + action="store_true", + help="do not use colors in ytdl-sub output", + default=argparse.SUPPRESS if suppress_defaults else False + ) arg_parser.add_argument( MainArguments.MATCH.short, MainArguments.MATCH.long, diff --git a/src/ytdl_sub/config/config_validator.py b/src/ytdl_sub/config/config_validator.py index 44dc761b..55a91f55 100644 --- a/src/ytdl_sub/config/config_validator.py +++ b/src/ytdl_sub/config/config_validator.py @@ -108,7 +108,6 @@ class ConfigOptions(StrictDictValidator): "ffprobe_path", "file_name_max_bytes", "experimental", - "suppress_colors", } def __init__(self, name: str, value: Any): @@ -143,9 +142,6 @@ class ConfigOptions(StrictDictValidator): self._file_name_max_bytes = self._validate_key( key="file_name_max_bytes", validator=IntValidator, default=MAX_FILE_NAME_BYTES ) - self._suppress_colors = self._validate_key_if_present( - key="suppress_colors", validator=BoolValidator, default=False - ) @property def working_directory(self) -> str: @@ -239,12 +235,6 @@ class ConfigOptions(StrictDictValidator): """ return self._ffprobe_path.value - @property - def suppress_colors(self) -> bool: - """ - Flag to disable colors in the output summary - """ - return self._suppress_colors.value class ConfigValidator(StrictDictValidator): _optional_keys = {"configuration", "presets"} diff --git a/tests/unit/cli/test_output_summary.py b/tests/unit/cli/test_output_summary.py index 67422532..a31c9d58 100644 --- a/tests/unit/cli/test_output_summary.py +++ b/tests/unit/cli/test_output_summary.py @@ -36,7 +36,7 @@ def test_output_summary_no_errors(): ] ) - output_summary(subscriptions=mock_subscriptions) + output_summary(subscriptions=mock_subscriptions, suppress_colors=False) def test_output_summary_one_error(): @@ -50,7 +50,7 @@ def test_output_summary_one_error(): ] ) - output_summary(subscriptions=mock_subscriptions) + output_summary(subscriptions=mock_subscriptions, suppress_colors=False) def test_output_summary_multiple_errors(): @@ -64,4 +64,4 @@ def test_output_summary_multiple_errors(): ] ) - output_summary(subscriptions=mock_subscriptions) + output_summary(subscriptions=mock_subscriptions, suppress_colors=True)