1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2024-11-02 17:22:31 +01:00

[freespeech] fix extraction

This commit is contained in:
Remita Amine 2017-11-25 18:25:00 +01:00
parent c0f647a179
commit a238a868ba

View File

@ -1,37 +1,34 @@
from __future__ import unicode_literals from __future__ import unicode_literals
import re
import json
from .common import InfoExtractor from .common import InfoExtractor
class FreespeechIE(InfoExtractor): class FreespeechIE(InfoExtractor):
IE_NAME = 'freespeech.org' IE_NAME = 'freespeech.org'
_VALID_URL = r'https?://(?:www\.)?freespeech\.org/video/(?P<title>.+)' _VALID_URL = r'https?://(?:www\.)?freespeech\.org/stories/(?P<id>.+)'
_TEST = { _TEST = {
'add_ie': ['Youtube'], 'add_ie': ['Youtube'],
'url': 'https://www.freespeech.org/video/obama-romney-campaign-colorado-ahead-debate-0', 'url': 'http://www.freespeech.org/stories/fcc-announces-net-neutrality-rollback-whats-stake/',
'info_dict': { 'info_dict': {
'id': 'poKsVCZ64uU', 'id': 'waRk6IPqyWM',
'ext': 'webm', 'ext': 'mp4',
'title': 'Obama, Romney Campaign in Colorado Ahead of Debate', 'title': 'What\'s At Stake - Net Neutrality Special',
'description': 'Obama, Romney Campaign in Colorado Ahead of Debate', 'description': 'Presented by MNN and FSTV',
'uploader': 'freespeechtv', 'upload_date': '20170728',
'uploader_id': 'freespeechtv', 'uploader_id': 'freespeechtv',
'upload_date': '20121002', 'uploader': 'freespeechtv',
}, },
} }
def _real_extract(self, url): def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url) display_id = self._match_id(url)
title = mobj.group('title') webpage = self._download_webpage(url, display_id)
webpage = self._download_webpage(url, title) youtube_url = self._search_regex(
info_json = self._search_regex(r'jQuery\.extend\(Drupal\.settings, ({.*?})\);', webpage, 'info') r'data-video-url="([^"]+)"',
info = json.loads(info_json) webpage, 'youtube url')
return { return {
'_type': 'url', '_type': 'url',
'url': info['jw_player']['basic_video_node_player']['file'], 'url': youtube_url,
'ie_key': 'Youtube', 'ie_key': 'Youtube',
} }