commit 66e289bab466079558b7acf5cea1057ae35c9bfa
parent 52c6f26cabf1fb94fe6fb384402cebc6b29c3f93
Author: Sergey M․ <dstftw@gmail.com>
Date: Sat, 5 Sep 2015 03:05:11 +0600
[utils] Generalize cli option converters
Diffstat:
1 file changed, 26 insertions(+), 0 deletions(-)
diff --git 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 = {