[utils] Improve month_by_name and add tests

This commit is contained in:
Sergey M․ 2016-09-14 23:13:55 +07:00
parent a942d6cb48
commit f6717dec8a
No known key found for this signature in database
GPG key ID: 2C393E0F18A9236D
2 changed files with 19 additions and 8 deletions

View file

@ -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