From: Sergey M․ Date: Fri, 4 Sep 2015 21:05:11 +0000 (+0600) Subject: [utils] Generalize cli option converters X-Git-Url: http://git.oshgnacknak.de/?a=commitdiff_plain;h=66e289bab466079558b7acf5cea1057ae35c9bfa;p=youtube-dl [utils] Generalize cli option converters --- diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index cc792be6a..79381b380 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1951,6 +1951,32 @@ def dfxp2srt(dfxp_data): return ''.join(out) +def cli_option(params, command_option, param): + param = params.get(param) + return [command_option, param] if param is not None else [] + + +def cli_bool_option(params, command_option, param, true_value='true', false_value='false', separator=None): + param = params.get(param) + assert isinstance(param, bool) + if separator: + return [command_option + separator + (true_value if param else false_value)] + return [command_option, true_value if param else false_value] + + +def cli_valueless_option(params, command_option, param, expected_value=True): + param = params.get(param) + return [command_option] if param == expected_value else [] + + +def cli_configuration_args(params, param, default=[]): + ex_args = params.get(param) + if ex_args is None: + return default + assert isinstance(ex_args, list) + return ex_args + + class ISO639Utils(object): # See http://www.loc.gov/standards/iso639-2/ISO-639-2_utf-8.txt _lang_map = {