]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/ondemandkorea.py
2 from __future__
import unicode_literals
4 from .common
import InfoExtractor
11 class OnDemandKoreaIE(InfoExtractor
):
12 _VALID_URL
= r
'https?://(?:www\.)?ondemandkorea\.com/(?P<id>[^/]+)\.html'
13 _GEO_COUNTRIES
= ['US', 'CA']
15 'url': 'http://www.ondemandkorea.com/ask-us-anything-e43.html',
17 'id': 'ask-us-anything-e43',
19 'title': 'Ask Us Anything : E43',
20 'thumbnail': r
're:^https?://.*\.jpg$',
23 'skip_download': 'm3u8 download'
27 def _real_extract(self
, url
):
28 video_id
= self
._match
_id
(url
)
29 webpage
= self
._download
_webpage
(url
, video_id
, fatal
=False)
32 # Page sometimes returns captcha page with HTTP 403
34 'Unable to access page. You may have been blocked.',
37 if 'msg_block_01.png' in webpage
:
38 self
.raise_geo_restricted(
39 msg
='This content is not available in your region',
40 countries
=self
._GEO
_COUNTRIES
)
42 if 'This video is only available to ODK PLUS members.' in webpage
:
44 'This video is only available to ODK PLUS members.',
47 title
= self
._og
_search
_title
(webpage
)
49 jw_config
= self
._parse
_json
(
51 r
'(?s)jwplayer\(([\'"])(?:(?!\1).)+\1\)\.setup\s*\((?P<options>.+?)\);',
52 webpage, 'jw config', group='options'),
53 video_id, transform_source=js_to_json)
54 info = self._parse_jwplayer_data(
55 jw_config, video_id, require_title=False, m3u8_id='hls',
60 'thumbnail': self._og_search_thumbnail(webpage),