浏览代码

[utils] Skip missing params in cli_bool_option (closes #13865)

Sergey M․ 8 年之前
父节点
当前提交
5b232f46dc
共有 2 个文件被更改,包括 6 次插入0 次删除
  1. 4 0
      test/test_utils.py
  2. 2 0
      youtube_dl/utils.py

+ 4 - 0
test/test_utils.py

@@ -1182,6 +1182,10 @@ part 3</font></u>
             cli_bool_option(
             cli_bool_option(
                 {'nocheckcertificate': False}, '--check-certificate', 'nocheckcertificate', 'false', 'true', '='),
                 {'nocheckcertificate': False}, '--check-certificate', 'nocheckcertificate', 'false', 'true', '='),
             ['--check-certificate=true'])
             ['--check-certificate=true'])
+        self.assertEqual(
+            cli_bool_option(
+                {}, '--check-certificate', 'nocheckcertificate', 'false', 'true', '='),
+            [])
 
 
     def test_ohdave_rsa_encrypt(self):
     def test_ohdave_rsa_encrypt(self):
         N = 0xab86b6371b5318aaa1d3c9e612a9f1264f372323c8c0f19875b5fc3b3fd3afcc1e5bec527aa94bfa85bffc157e4245aebda05389a5357b75115ac94f074aefcd
         N = 0xab86b6371b5318aaa1d3c9e612a9f1264f372323c8c0f19875b5fc3b3fd3afcc1e5bec527aa94bfa85bffc157e4245aebda05389a5357b75115ac94f074aefcd

+ 2 - 0
youtube_dl/utils.py

@@ -2733,6 +2733,8 @@ def cli_option(params, command_option, param):
 
 
 def cli_bool_option(params, command_option, param, true_value='true', false_value='false', separator=None):
 def cli_bool_option(params, command_option, param, true_value='true', false_value='false', separator=None):
     param = params.get(param)
     param = params.get(param)
+    if param is None:
+        return []
     assert isinstance(param, bool)
     assert isinstance(param, bool)
     if separator:
     if separator:
         return [command_option + separator + (true_value if param else false_value)]
         return [command_option + separator + (true_value if param else false_value)]