[tvplay] Fix f4m URL extraction (Closes #4119)

Add query parameters which are needed by AkamaiHD F4M player.
Also, modernize a bit.
This commit is contained in:
Naglis Jonaitis 2014-11-12 19:26:00 +02:00
parent 4b50ba0989
commit 73689dafbf

View file

@ -4,9 +4,9 @@ from __future__ import unicode_literals
import re import re
from .common import InfoExtractor from .common import InfoExtractor
from ..compat import compat_str
from ..utils import ( from ..utils import (
ExtractorError, ExtractorError,
compat_str,
parse_iso8601, parse_iso8601,
qualities, qualities,
) )
@ -176,8 +176,7 @@ class TVPlayIE(InfoExtractor):
] ]
def _real_extract(self, url): def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url) video_id = self._match_id(url)
video_id = mobj.group('id')
video = self._download_json( video = self._download_json(
'http://playapi.mtgx.tv/v1/videos/%s' % video_id, video_id, 'Downloading video JSON') 'http://playapi.mtgx.tv/v1/videos/%s' % video_id, video_id, 'Downloading video JSON')
@ -208,6 +207,10 @@ class TVPlayIE(InfoExtractor):
'app': m.group('app'), 'app': m.group('app'),
'play_path': m.group('playpath'), 'play_path': m.group('playpath'),
}) })
elif video_url.endswith('.f4m'):
formats.extend(self._extract_f4m_formats(
video_url + '?hdcore=3.5.0&plugin=aasp-3.5.0.151.81', video_id))
continue
else: else:
fmt.update({ fmt.update({
'url': video_url, 'url': video_url,