From ed0291d1533600b21903cb98f070791a20e47433 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergey=20M=E2=80=A4?= Date: Thu, 31 Mar 2016 22:55:01 +0600 Subject: [PATCH] [utils] Add update_Request --- youtube_dl/utils.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 6d27b80c0..4532b737b 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1804,6 +1804,20 @@ def update_url_query(url, query): query=compat_urllib_parse_urlencode(qs, True))) +def update_Request(req, url=None, data=None, headers={}, query={}): + req_headers = req.headers.copy() + req_headers.update(headers) + req_data = data or req.data + req_url = update_url_query(url or req.get_full_url(), query) + req_type = HEADRequest if req.get_method() == 'HEAD' else compat_urllib_request.Request + new_req = req_type( + req_url, data=req_data, headers=req_headers, + origin_req_host=req.origin_req_host, unverifiable=req.unverifiable) + if hasattr(req, 'timeout'): + new_req.timeout = req.timeout + return new_req + + def dict_get(d, key_or_keys, default=None, skip_false_values=True): if isinstance(key_or_keys, (list, tuple)): for key in key_or_keys: