From f3bdae76de7265475277c265f9fff12cdc59825b Mon Sep 17 00:00:00 2001 From: remitamine Date: Thu, 3 Mar 2016 10:27:22 +0100 Subject: [extractor/common] add update_url_params helper method to add or update query string params --- youtube_dl/extractor/common.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'youtube_dl') diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index 402f2f436..282559597 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -517,6 +517,13 @@ class InfoExtractor(object): else: self.report_warning(errmsg + str(ve)) + def update_url_params(self, url, params): + parsed_url = compat_urlparse.urlparse(url) + qs = compat_urlparse.parse_qs(parsed_url.query) + qs.update(params) + return compat_urlparse.urlunparse( + parsed_url._replace(query=compat_urllib_parse.urlencode(qs, True))) + def report_warning(self, msg, video_id=None): idstr = '' if video_id is None else '%s: ' % video_id self._downloader.report_warning( -- cgit v1.2.3 From fa9e259fd91ce1bf31310330adc20ddef2b1d948 Mon Sep 17 00:00:00 2001 From: remitamine Date: Thu, 3 Mar 2016 10:54:39 +0100 Subject: [extractor/common] use compat_parse_qs in update_url_params --- youtube_dl/extractor/common.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'youtube_dl') diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index 282559597..a95387cee 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -20,6 +20,7 @@ from ..compat import ( compat_urllib_error, compat_urllib_parse, compat_urlparse, + compat_parse_qs, compat_str, compat_etree_fromstring, ) @@ -519,7 +520,7 @@ class InfoExtractor(object): def update_url_params(self, url, params): parsed_url = compat_urlparse.urlparse(url) - qs = compat_urlparse.parse_qs(parsed_url.query) + qs = compat_parse_qs(parsed_url.query) qs.update(params) return compat_urlparse.urlunparse( parsed_url._replace(query=compat_urllib_parse.urlencode(qs, True))) -- cgit v1.2.3 From 38f9ef31dc434a6702686844b421085955137c55 Mon Sep 17 00:00:00 2001 From: remitamine Date: Thu, 3 Mar 2016 18:34:52 +0100 Subject: [utils] add update_url_query function --- youtube_dl/extractor/common.py | 8 -------- youtube_dl/utils.py | 8 ++++++++ 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'youtube_dl') diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index a95387cee..402f2f436 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -20,7 +20,6 @@ from ..compat import ( compat_urllib_error, compat_urllib_parse, compat_urlparse, - compat_parse_qs, compat_str, compat_etree_fromstring, ) @@ -518,13 +517,6 @@ class InfoExtractor(object): else: self.report_warning(errmsg + str(ve)) - def update_url_params(self, url, params): - parsed_url = compat_urlparse.urlparse(url) - qs = compat_parse_qs(parsed_url.query) - qs.update(params) - return compat_urlparse.urlunparse( - parsed_url._replace(query=compat_urllib_parse.urlencode(qs, True))) - def report_warning(self, msg, video_id=None): idstr = '' if video_id is None else '%s: ' % video_id self._downloader.report_warning( diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 210c47fce..31d60f323 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1719,6 +1719,14 @@ def urlencode_postdata(*args, **kargs): return compat_urllib_parse.urlencode(*args, **kargs).encode('ascii') +def update_url_query(url, query): + parsed_url = compat_urlparse.urlparse(url) + qs = compat_parse_qs(parsed_url.query) + qs.update(query) + return compat_urlparse.urlunparse(parsed_url._replace( + query=compat_urllib_parse.urlencode(qs, True))) + + def encode_dict(d, encoding='utf-8'): def encode(v): return v.encode(encoding) if isinstance(v, compat_basestring) else v -- cgit v1.2.3