commit 6562d34a8cbdb93de77a8042f7409ebe31e3e3e4
parent 5e9e3d0f6bf2055c557f360758d6d7eb146edcba
Author: Sergey M․ <dstftw@gmail.com>
Date: Fri, 2 Sep 2016 22:57:48 +0700
[utils] Improve mimetype2ext
Diffstat:
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/test/test_utils.py b/test/test_utils.py
@@ -39,6 +39,7 @@ from youtube_dl.utils import (
is_html,
js_to_json,
limit_length,
+ mimetype2ext,
ohdave_rsa_encrypt,
OnDemandPagedList,
orderedSet,
@@ -625,6 +626,14 @@ class TestUtil(unittest.TestCase):
limit_length('foo bar baz asd', 12).startswith('foo bar'))
self.assertTrue('...' in limit_length('foo bar baz asd', 12))
+ def test_mimetype2ext(self):
+ self.assertEqual(mimetype2ext(None), None)
+ self.assertEqual(mimetype2ext('video/x-flv'), 'flv')
+ self.assertEqual(mimetype2ext('application/x-mpegURL'), 'm3u8')
+ self.assertEqual(mimetype2ext('text/vtt'), 'vtt')
+ self.assertEqual(mimetype2ext('text/vtt;charset=utf-8'), 'vtt')
+ self.assertEqual(mimetype2ext('text/html; charset=utf-8'), 'html')
+
def test_parse_codecs(self):
self.assertEqual(parse_codecs(''), {})
self.assertEqual(parse_codecs('avc1.77.30, mp4a.40.2'), {
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
@@ -2148,7 +2148,7 @@ def mimetype2ext(mt):
return ext
_, _, res = mt.rpartition('/')
- res = res.lower()
+ res = res.split(';')[0].strip().lower()
return {
'3gpp': '3gp',