projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[youtube:user] Preserve user/c path segment
[youtube-dl]
/
youtube_dl
/
extractor
/
eagleplatform.py
diff --git
a/youtube_dl/extractor/eagleplatform.py
b/youtube_dl/extractor/eagleplatform.py
index 0f8c73fd7d330da33afd3c2a3d2cb732e4d3ff33..12d28d3b9f1e76f84f0f9fa322befd0bfa056f09 100644
(file)
--- a/
youtube_dl/extractor/eagleplatform.py
+++ b/
youtube_dl/extractor/eagleplatform.py
@@
-23,7
+23,7
@@
class EaglePlatformIE(InfoExtractor):
_TESTS = [{
# http://lenta.ru/news/2015/03/06/navalny/
'url': 'http://lentaru.media.eagleplatform.com/index/player?player=new&record_id=227304&player_template_id=5201',
_TESTS = [{
# http://lenta.ru/news/2015/03/06/navalny/
'url': 'http://lentaru.media.eagleplatform.com/index/player?player=new&record_id=227304&player_template_id=5201',
- 'md5': '881ee8460e1b7735a8be938e2ffb362b',
+ # Not checking MD5 as sometimes the direct HTTP link results in 404 and HLS is used
'info_dict': {
'id': '227304',
'ext': 'mp4',
'info_dict': {
'id': '227304',
'ext': 'mp4',
@@
-50,6
+50,14
@@
class EaglePlatformIE(InfoExtractor):
'skip': 'Georestricted',
}]
'skip': 'Georestricted',
}]
+ @staticmethod
+ def _extract_url(webpage):
+ mobj = re.search(
+ r'<iframe[^>]+src=(["\'])(?P<url>(?:https?:)?//.+?\.media\.eagleplatform\.com/index/player\?.+?)\1',
+ webpage)
+ if mobj is not None:
+ return mobj.group('url')
+
@staticmethod
def _handle_error(response):
status = int_or_none(response.get('status', 200))
@staticmethod
def _handle_error(response):
status = int_or_none(response.get('status', 200))
@@
-109,8
+117,11
@@
class EaglePlatformIE(InfoExtractor):
mobj = re.search('/([^/]+)/index\.m3u8', m3u8_format['url'])
if mobj:
http_format = m3u8_format.copy()
mobj = re.search('/([^/]+)/index\.m3u8', m3u8_format['url'])
if mobj:
http_format = m3u8_format.copy()
+ video_url = mp4_url.replace(mp4_url_basename, mobj.group(1))
+ if not self._is_valid_url(video_url, video_id):
+ continue
http_format.update({
http_format.update({
- 'url':
mp4_url.replace(mp4_url_basename, mobj.group(1))
,
+ 'url':
video_url
,
'format_id': m3u8_format['format_id'].replace('hls', 'http'),
'protocol': 'http',
})
'format_id': m3u8_format['format_id'].replace('hls', 'http'),
'protocol': 'http',
})