|
|
|
@ -10,6 +10,7 @@ from ..compat import compat_urlparse
|
|
|
|
|
from ..utils import (
|
|
|
|
|
float_or_none,
|
|
|
|
|
remove_end,
|
|
|
|
|
std_headers,
|
|
|
|
|
struct_unpack,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
@ -84,13 +85,20 @@ class RTVEALaCartaIE(InfoExtractor):
|
|
|
|
|
'only_matching': True,
|
|
|
|
|
}]
|
|
|
|
|
|
|
|
|
|
def _real_initialize(self):
|
|
|
|
|
user_agent_b64 = base64.b64encode(std_headers['User-Agent'].encode('utf-8')).decode('utf-8')
|
|
|
|
|
manager_info = self._download_json(
|
|
|
|
|
'http://www.rtve.es/odin/loki/' + user_agent_b64,
|
|
|
|
|
None, 'Fetching manager info')
|
|
|
|
|
self._manager = manager_info['manager']
|
|
|
|
|
|
|
|
|
|
def _real_extract(self, url):
|
|
|
|
|
mobj = re.match(self._VALID_URL, url)
|
|
|
|
|
video_id = mobj.group('id')
|
|
|
|
|
info = self._download_json(
|
|
|
|
|
'http://www.rtve.es/api/videos/%s/config/alacarta_videos.json' % video_id,
|
|
|
|
|
video_id)['page']['items'][0]
|
|
|
|
|
png_url = 'http://www.rtve.es/ztnr/movil/thumbnail/default/videos/%s.png' % video_id
|
|
|
|
|
png_url = 'http://www.rtve.es/ztnr/movil/thumbnail/%s/videos/%s.png' % (self._manager, video_id)
|
|
|
|
|
png = self._download_webpage(png_url, video_id, 'Downloading url information')
|
|
|
|
|
video_url = _decrypt_url(png)
|
|
|
|
|
if not video_url.endswith('.f4m'):
|
|
|
|
|