[livestream] fix the extraction of events

It now uses a json dictionary from the webpage.
This commit is contained in:
Jaime Marquínez Ferrándiz 2013-10-31 08:07:26 +01:00
parent 0ef7ad5cd4
commit 5f1ea943ab

View file

@ -40,13 +40,9 @@ def _real_extract(self, url):
if video_id is None:
# This is an event page:
player = get_meta_content('twitter:player', webpage)
if player is None:
raise ExtractorError('Couldn\'t extract event api url')
api_url = player.replace('/player', '')
api_url = re.sub(r'^(https?://)(new\.)', r'\1api.\2', api_url)
info = json.loads(self._download_webpage(api_url, event_name,
u'Downloading event info'))
config_json = self._search_regex(r'window.config = ({.*?});',
webpage, u'window config')
info = json.loads(config_json)['event']
videos = [self._extract_video_info(video_data['data'])
for video_data in info['feed']['data'] if video_data['type'] == u'video']
return self.playlist_result(videos, info['id'], info['full_name'])