diff options
| author | Sergey M․ <dstftw@gmail.com> | 2016-09-14 23:13:55 +0700 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2016-09-14 23:59:38 +0700 | 
| commit | f6717dec8abe7c0d34e704732b53665a9415fa2e (patch) | |
| tree | f0fdffc8864a9ebc9304a545ed66a8f7ca2ca4fd | |
| parent | a942d6cb48994c5ff14ccef8773fb086a5544970 (diff) | |
[utils] Improve month_by_name and add tests
| -rw-r--r-- | test/test_utils.py | 11 | ||||
| -rw-r--r-- | youtube_dl/utils.py | 16 | 
2 files changed, 19 insertions, 8 deletions
| diff --git a/test/test_utils.py b/test/test_utils.py index 405c5d351..4ebca8744 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -40,6 +40,7 @@ from youtube_dl.utils import (      js_to_json,      limit_length,      mimetype2ext, +    month_by_name,      ohdave_rsa_encrypt,      OnDemandPagedList,      orderedSet, @@ -634,6 +635,16 @@ class TestUtil(unittest.TestCase):          self.assertEqual(mimetype2ext('text/vtt;charset=utf-8'), 'vtt')          self.assertEqual(mimetype2ext('text/html; charset=utf-8'), 'html') +    def test_month_by_name(self): +        self.assertEqual(month_by_name(None), None) +        self.assertEqual(month_by_name('December', 'en'), 12) +        self.assertEqual(month_by_name('decembre', 'fr'), 12) +        self.assertEqual(month_by_name('December'), 12) +        self.assertEqual(month_by_name('decembre'), None) +        self.assertEqual(month_by_name('Unknown', 'unknown'), None) + +    def test_m +      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 index 623ced625..a4ef15908 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -91,9 +91,12 @@ ENGLISH_MONTH_NAMES = [      'January', 'February', 'March', 'April', 'May', 'June',      'July', 'August', 'September', 'October', 'November', 'December'] -FRENCH_MONTH_NAMES = [ -    'janvier', 'fevrier', 'mars', 'avril', 'mai', 'juin', -    'juillet', 'aout', 'septembre', 'octobre', 'novembre', 'decembre'] +MONTH_NAMES = { +    'en': ENGLISH_MONTH_NAMES, +    'fr': [ +        'janvier', 'fevrier', 'mars', 'avril', 'mai', 'juin', +        'juillet', 'aout', 'septembre', 'octobre', 'novembre', 'decembre'], +}  KNOWN_EXTENSIONS = (      'mp4', 'm4a', 'm4p', 'm4b', 'm4r', 'm4v', 'aac', @@ -1594,13 +1597,10 @@ def parse_count(s):  def month_by_name(name, lang='en'):      """ Return the number of a month by (locale-independently) English name """ -    name_list = ENGLISH_MONTH_NAMES - -    if lang == 'fr': -        name_list = FRENCH_MONTH_NAMES +    month_names = MONTH_NAMES.get(lang, MONTH_NAMES['en'])      try: -        return name_list.index(name) + 1 +        return month_names.index(name) + 1      except ValueError:          return None | 
