diff options
author | Sergey M․ <[email protected]> | 2019-03-17 09:07:47 +0700 |
---|---|---|
committer | Sergey M․ <[email protected]> | 2019-03-17 09:07:47 +0700 |
commit | 0dc41787af0fb011f01d88c1f2ecb686a8416df5 (patch) | |
tree | 42bdaecb36f30b6be28de42a5a94471d42f8c3db | |
parent | e5cfb779ea0814971324d693e02f8c4d4ca78600 (diff) | |
download | youtube-dl-0dc41787af0fb011f01d88c1f2ecb686a8416df5.tar.gz youtube-dl-0dc41787af0fb011f01d88c1f2ecb686a8416df5.zip |
[utils] Introduce parse_bitrate
-rw-r--r-- | test/test_utils.py | 8 | ||||
-rw-r--r-- | youtube_dl/utils.py | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/test/test_utils.py b/test/test_utils.py index 409482c3b..acd994bd7 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -55,6 +55,7 @@ from youtube_dl.utils import ( parse_count, parse_iso8601, parse_resolution, + parse_bitrate, pkcs1pad, read_batch_urls, sanitize_filename, @@ -1030,6 +1031,13 @@ class TestUtil(unittest.TestCase): self.assertEqual(parse_resolution('4k'), {'height': 2160}) self.assertEqual(parse_resolution('8K'), {'height': 4320}) + def test_parse_bitrate(self): + self.assertEqual(parse_bitrate(None), None) + self.assertEqual(parse_bitrate(''), None) + self.assertEqual(parse_bitrate('300kbps'), 300) + self.assertEqual(parse_bitrate('1500kbps'), 1500) + self.assertEqual(parse_bitrate('300 kbps'), 300) + def test_version_tuple(self): self.assertEqual(version_tuple('1'), (1,)) self.assertEqual(version_tuple('10.23.344'), (10, 23, 344)) diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 630dab8eb..f2726a579 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1798,6 +1798,14 @@ def parse_resolution(s): return {} +def parse_bitrate(s): + if not isinstance(s, compat_str): + return + mobj = re.search(r'\b(\d+)\s*kbps', s) + if mobj: + return int(mobj.group(1)) + + def month_by_name(name, lang='en'): """ Return the number of a month by (locale-independently) English name """ |