diff options
Diffstat (limited to 'youtube_dl/utils.py')
| -rw-r--r-- | youtube_dl/utils.py | 41 | 
1 files changed, 23 insertions, 18 deletions
| diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 0ed6c45c8..c63b61598 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -70,6 +70,21 @@ ENGLISH_MONTH_NAMES = [      'January', 'February', 'March', 'April', 'May', 'June',      'July', 'August', 'September', 'October', 'November', 'December'] +KNOWN_EXTENSIONS = ( +    'mp4', 'm4a', 'm4p', 'm4b', 'm4r', 'm4v', 'aac', +    'flv', 'f4v', 'f4a', 'f4b', +    'webm', 'ogg', 'ogv', 'oga', 'ogx', 'spx', 'opus', +    'mkv', 'mka', 'mk3d', +    'avi', 'divx', +    'mov', +    'asf', 'wmv', 'wma', +    '3gp', '3g2', +    'mp3', +    'flac', +    'ape', +    'wav', +    'f4f', 'f4m', 'm3u8', 'smil') +  def preferredencoding():      """Get preferred encoding. @@ -942,20 +957,8 @@ def determine_ext(url, default_ext='unknown_video'):      guess = url.partition('?')[0].rpartition('.')[2]      if re.match(r'^[A-Za-z0-9]+$', guess):          return guess -    elif guess.rstrip('/') in ( -            'mp4', 'm4a', 'm4p', 'm4b', 'm4r', 'm4v', 'aac', -            'flv', 'f4v', 'f4a', 'f4b', -            'webm', 'ogg', 'ogv', 'oga', 'ogx', 'spx', 'opus', -            'mkv', 'mka', 'mk3d', -            'avi', 'divx', -            'mov', -            'asf', 'wmv', 'wma', -            '3gp', '3g2', -            'mp3', -            'flac', -            'ape', -            'wav', -            'f4f', 'f4m', 'm3u8', 'smil'): +    # Try extract ext from URLs like http://example.com/foo/bar.mp4/?download +    elif guess.rstrip('/') in KNOWN_EXTENSIONS:          return guess.rstrip('/')      else:          return default_ext @@ -981,7 +984,7 @@ def date_from_str(date_str):          if sign == '-':              time = -time          unit = match.group('unit') -        # A bad aproximation? +        # A bad approximation?          if unit == 'month':              unit = 'day'              time *= 30 @@ -1304,7 +1307,7 @@ def parse_filesize(s):      if s is None:          return None -    # The lower-case forms are of course incorrect and inofficial, +    # The lower-case forms are of course incorrect and unofficial,      # but we support those too      _UNIT_TABLE = {          'B': 1, @@ -1825,9 +1828,11 @@ def mimetype2ext(mt):      _, _, res = mt.rpartition('/')      return { -        'x-ms-wmv': 'wmv', -        'x-mp4-fragmented': 'mp4', +        '3gpp': '3gp',          'ttml+xml': 'ttml', +        'x-flv': 'flv', +        'x-mp4-fragmented': 'mp4', +        'x-ms-wmv': 'wmv',      }.get(res, res) | 
