diff options
| -rw-r--r-- | youtube_dl/extractor/nhl.py | 19 | 
1 files changed, 15 insertions, 4 deletions
| diff --git a/youtube_dl/extractor/nhl.py b/youtube_dl/extractor/nhl.py index b04d21113..26149c88f 100644 --- a/youtube_dl/extractor/nhl.py +++ b/youtube_dl/extractor/nhl.py @@ -245,7 +245,11 @@ class NHLVideocenterCategoryIE(NHLBaseInfoExtractor):  class NHLIE(InfoExtractor):      IE_NAME = 'nhl.com' -    _VALID_URL = r'https?://(?:www\.)?nhl\.com/([^/]+/)*c-(?P<id>\d+)' +    _VALID_URL = r'https?://(?:www\.)?(?P<site>nhl|wch2016)\.com/(?:[^/]+/)*c-(?P<id>\d+)' +    _SITES_MAP = { +        'nhl': 'nhl', +        'wch2016': 'wch', +    }      _TESTS = [{          # type=video          'url': 'https://www.nhl.com/video/anisimov-cleans-up-mess/t-277752844/c-43663503', @@ -270,13 +274,20 @@ class NHLIE(InfoExtractor):              'upload_date': '20160204',              'timestamp': 1454544904,          }, +    }, { +        'url': 'https://www.wch2016.com/video/caneur-best-of-game-2-micd-up/t-281230378/c-44983703', +        'only_matching': True, +    }, { +        'url': 'https://www.wch2016.com/news/3-stars-team-europe-vs-team-canada/c-282195068', +        'only_matching': True,      }]      def _real_extract(self, url): -        tmp_id = self._match_id(url) +        mobj = re.match(self._VALID_URL, url) +        tmp_id, site = mobj.group('id'), mobj.group('site')          video_data = self._download_json( -            'https://nhl.bamcontent.com/nhl/id/v1/%s/details/web-v1.json' % tmp_id, -            tmp_id) +            'https://nhl.bamcontent.com/%s/id/v1/%s/details/web-v1.json' +            % (self._SITES_MAP[site], tmp_id), tmp_id)          if video_data.get('type') == 'article':              video_data = video_data['media'] | 
