# Audiomack wraps a lot of soundcloud tracks in their branded wrapper
# if so, pass the work off to the soundcloud extractor
if SoundcloudIE.suitable(api_response['url']):
- return {'_type': 'url', 'url': api_response['url'], 'ie_key': 'Soundcloud'}
+ return self.url_result(api_response['url'], SoundcloudIE.ie_key())
return {
'id': compat_str(api_response.get('id', album_url_tag)),
def _real_extract(self, url):
webpage = self._download_webpage(url, url_basename(url))
cnn_url = self._html_search_regex(r'data-url="(.+?)"', webpage, 'cnn url')
- return {
- '_type': 'url',
- 'url': cnn_url,
- 'ie_key': CNNIE.ie_key(),
- }
+ return self.url_result(cnn_url, CNNIE.ie_key())
class CNNArticleIE(InfoExtractor):
def _real_extract(self, url):
webpage = self._download_webpage(url, url_basename(url))
cnn_url = self._html_search_regex(r"video:\s*'([^']+)'", webpage, 'cnn url')
- return {
- '_type': 'url',
- 'url': 'http://cnn.com/video/?/video/' + cnn_url,
- 'ie_key': CNNIE.ie_key(),
- }
+ return self.url_result('http://cnn.com/video/?/video/' + cnn_url, CNNIE.ie_key())
from __future__ import unicode_literals
from .common import InfoExtractor
+from .youtube import YoutubeIE
class FreespeechIE(InfoExtractor):
r'data-video-url="([^"]+)"',
webpage, 'youtube url')
- return {
- '_type': 'url',
- 'url': youtube_url,
- 'ie_key': 'Youtube',
- }
+ return self.url_result(youtube_url, YoutubeIE.ie_key())
def _real_extract(self, url):
if url.startswith('//'):
- return {
- '_type': 'url',
- 'url': self.http_scheme() + url,
- }
+ return self.url_result(self.http_scheme() + url)
parsed_url = compat_urlparse.urlparse(url)
if not parsed_url.scheme:
id = mobj.group('id')
webpage = self._download_webpage(url, id)
- return {
- '_type': 'url',
- 'url': self._og_search_url(webpage),
- }
+ return self.url_result(self._og_search_url(webpage))
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
video_id = os.path.splitext(url.split('/')[-1])[0]
- return {
- '_type': 'url',
- 'id': video_id,
- 'url': mobj.group('url'),
- }
+
+ return self.url_result(mobj.group('url'), video_id=video_id)
ext_url = None
if service.lower() == 'youtube':
ext_url = external.get('code')
- return {
- '_type': 'url',
- 'url': ext_url or external['uri'],
- }
+
+ return self.url_result(ext_url or external['uri'])
resources_ = player_talk.get('resources') or talk_info.get('resources')
self.to_screen('Test URL: %s' % tc['url'])
- return {
- '_type': 'url',
- 'url': tc['url'],
- 'id': video_id,
- }
+ return self.url_result(tc['url'], video_id=video_id)
r'data-id=["\']([0-9A-Za-z_-]{11})'),
webpage, 'video URL', default=None)
if youtube_id:
- return {
- '_type': 'url',
- 'url': youtube_id,
- 'ie_key': YoutubeIE.ie_key(),
- }
+ return self.url_result(youtube_id, YoutubeIE.ie_key())
info_dict = self._extract_jwplayer_data(
webpage, video_id, require_title=False)