瀏覽代碼

[utils] Properly handle list values in update_url()

An actual list value in a query update could have been treated
as a list of values because of the key:list parse_qs format.
dirkf 2 年之前
父節點
當前提交
bbd3e7e999
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      youtube_dl/utils.py

+ 1 - 1
youtube_dl/utils.py

@@ -4257,7 +4257,7 @@ def update_url(url, **kwargs):
     query = kwargs.pop('query_update', None)
     query = kwargs.pop('query_update', None)
     if query:
     if query:
         qs = compat_parse_qs(url.query)
         qs = compat_parse_qs(url.query)
-        qs.update(query)
+        qs.update((k, [v]) for k, v in query.items())
         kwargs['query'] = compat_urllib_parse_urlencode(qs, True)
         kwargs['query'] = compat_urllib_parse_urlencode(qs, True)
         kwargs = compat_kwargs(kwargs)
         kwargs = compat_kwargs(kwargs)
     return compat_urllib_parse.urlunparse(url._replace(**kwargs))
     return compat_urllib_parse.urlunparse(url._replace(**kwargs))