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)
+ qs = encode_dict(qs)
+ 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
}.get(res, res)
+def codec2ext(codec):
+ codec_type = codec.split('.')[0]
+
+ # Leave the return value None for unknown values as codec_type
+ # is not a good fallback for file extensions
+ return {
+ 'avc1': 'mp4',
+ 'avc2': 'mp4',
+ 'avc3': 'mp4',
+ 'avc4': 'mp4',
+ 'mp4a': 'm4a',
+ 'vorbis': 'webm',
+ 'vp9': 'webm',
+ }.get(codec_type)
+
+
def urlhandle_detect_ext(url_handle):
try:
url_handle.headers