make as cli arg

This commit is contained in:
Jesse Bannon 2025-05-03 19:39:38 -07:00
parent 158209fdd1
commit ad8d30b83f
5 changed files with 19 additions and 19 deletions

View file

@ -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

View file

@ -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}"

View file

@ -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,

View file

@ -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"}

View file

@ -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)