Merge branch 'master' of https://github.com/akretz/youtube-dl
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>
Tue, 2 Dec 2014 23:00:05 +0000 (00:00 +0100)
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>
Tue, 2 Dec 2014 23:00:05 +0000 (00:00 +0100)
1  2 
youtube_dl/extractor/nhl.py

index 2a84f676150afb9f93a52bef68557ea5ac7bd54f,72dcbf4243d71f60e80a48bbe13b962451945744..7d74b110bef50caf6ba29a69f261ccd378c989c2
@@@ -7,6 -7,7 +7,7 @@@ from .common import InfoExtracto
  from ..compat import (
      compat_urlparse,
      compat_urllib_parse,
+     compat_urllib_parse_urlparse
  )
  from ..utils import (
      unified_strdate,
@@@ -24,9 -25,13 +25,13 @@@ class NHLBaseInfoExtractor(InfoExtracto
  
          initial_video_url = info['publishPoint']
          if info['formats'] == '1':
+             parsed_url = compat_urllib_parse_urlparse(initial_video_url)
+             path = parsed_url.path
+             extension_index = path.rfind('.')
+             path = path[:extension_index] + '_sd' + path[extension_index:]
              data = compat_urllib_parse.urlencode({
                  'type': 'fvod',
-                 'path': initial_video_url.replace('.mp4', '_sd.mp4'),
+                 'path': compat_urlparse.urlunparse(parsed_url[:2] + (path,) + parsed_url[3:])
              })
              path_url = 'http://video.nhl.com/videocenter/servlets/encryptvideopath?' + data
              path_doc = self._download_xml(
@@@ -73,6 -78,17 +78,17 @@@ class NHLIE(NHLBaseInfoExtractor)
              'duration': 0,
              'upload_date': '20141011',
          },
+     }, {
+         'url': 'http://video.mapleleafs.nhl.com/videocenter/console?id=58665&catid=802',
+         'md5': 'c78fc64ea01777e426cfc202b746c825',
+         'info_dict': {
+             'id': '58665',
+             'ext': 'flv',
+             'title': 'Classic Game In Six - April 22, 1979',
+             'description': 'It was the last playoff game for the Leafs in the decade, and the last time the Leafs and Habs played in the playoffs. Great game, not a great ending.',
+             'duration': 400,
+             'upload_date': '20100129'
+         },
      }, {
          'url': 'http://video.flames.nhl.com/videocenter/console?id=630616',
          'only_matching': True,
  class NHLVideocenterIE(NHLBaseInfoExtractor):
      IE_NAME = 'nhl.com:videocenter'
      IE_DESC = 'NHL videocenter category'
 -    _VALID_URL = r'https?://video\.(?P<team>[^.]*)\.nhl\.com/videocenter/(console\?.*?catid=(?P<catid>[0-9]+)(?![&?]id=).*?)?$'
 +    _VALID_URL = r'https?://video\.(?P<team>[^.]*)\.nhl\.com/videocenter/(console\?[^(id=)]*catid=(?P<catid>[0-9]+)(?![&?]id=).*?)?$'
      _TEST = {
          'url': 'http://video.canucks.nhl.com/videocenter/console?catid=999',
          'info_dict': {