1 from __future__ import unicode_literals
3 from .common import InfoExtractor
4 from .ooyala import OoyalaIE
5 from ..utils import js_to_json
8 class GodTVIE(InfoExtractor):
9 _VALID_URL = r'https?://(?:www\.)?god\.tv(?:/[^/]+)+/(?P<id>[^/?#&]+)'
11 'url': 'http://god.tv/jesus-image/video/jesus-conference-2016/randy-needham',
13 'id': 'lpd3g2MzE6D1g8zFAKz8AGpxWcpu6o_3',
15 'title': 'Randy Needham',
19 'skip_download': True,
22 'url': 'http://god.tv/playlist/bible-study',
26 'playlist_mincount': 37,
29 def _real_extract(self, url):
30 display_id = self._match_id(url)
32 webpage = self._download_webpage(url, display_id)
34 settings = self._parse_json(
36 r'jQuery\.extend\(Drupal\.settings\s*,\s*({.+?})\);',
37 webpage, 'settings', default='{}'),
38 display_id, transform_source=js_to_json, fatal=False)
43 playlist = settings.get('playlist')
44 if playlist and isinstance(playlist, list):
46 OoyalaIE._build_url_result(video['content_id'])
47 for video in playlist if video.get('content_id')]
49 return self.playlist_result(entries, display_id)
50 ooyala_id = settings.get('ooyala', {}).get('content_id')
53 ooyala_id = self._search_regex(
54 r'["\']content_id["\']\s*:\s*(["\'])(?P<id>[\w-]+)\1',
55 webpage, 'ooyala id', group='id')
57 return OoyalaIE._build_url_result(ooyala_id)