|
|
@ -4,6 +4,7 @@ from __future__ import unicode_literals |
|
|
|
import re |
|
|
|
|
|
|
|
from .common import InfoExtractor |
|
|
|
from ..compat import compat_urlparse |
|
|
|
from ..utils import ( |
|
|
|
ExtractorError, |
|
|
|
float_or_none, |
|
|
@ -196,20 +197,6 @@ class NRKTVIE(InfoExtractor): |
|
|
|
} |
|
|
|
] |
|
|
|
|
|
|
|
def _debug_print(self, txt): |
|
|
|
if self._downloader.params.get('verbose', False): |
|
|
|
self.to_screen('[debug] %s' % txt) |
|
|
|
|
|
|
|
def _get_subtitles(self, subtitlesurl, video_id, baseurl): |
|
|
|
url = "%s%s" % (baseurl, subtitlesurl) |
|
|
|
self._debug_print('%s: Subtitle url: %s' % (video_id, url)) |
|
|
|
captions = self._download_xml( |
|
|
|
url, video_id, 'Downloading subtitles') |
|
|
|
lang = captions.get('lang', 'no') |
|
|
|
return {lang: [ |
|
|
|
{'ext': 'ttml', 'url': url}, |
|
|
|
]} |
|
|
|
|
|
|
|
def _extract_f4m(self, manifest_url, video_id): |
|
|
|
return self._extract_f4m_formats( |
|
|
|
manifest_url + '?hdcore=3.1.1&plugin=aasp-3.1.1.69.124', video_id, f4m_id='hds') |
|
|
@ -218,7 +205,7 @@ class NRKTVIE(InfoExtractor): |
|
|
|
mobj = re.match(self._VALID_URL, url) |
|
|
|
video_id = mobj.group('id') |
|
|
|
part_id = mobj.group('part_id') |
|
|
|
baseurl = mobj.group('baseurl') |
|
|
|
base_url = mobj.group('baseurl') |
|
|
|
|
|
|
|
webpage = self._download_webpage(url, video_id) |
|
|
|
|
|
|
@ -278,11 +265,14 @@ class NRKTVIE(InfoExtractor): |
|
|
|
self._sort_formats(formats) |
|
|
|
|
|
|
|
subtitles_url = self._html_search_regex( |
|
|
|
r'data-subtitlesurl[ ]*=[ ]*"([^"]+)"', |
|
|
|
webpage, 'subtitle URL', default=None) |
|
|
|
subtitles = None |
|
|
|
r'data-subtitlesurl\s*=\s*(["\'])(?P<url>.+?)\1', |
|
|
|
webpage, 'subtitle URL', default=None, group='url') |
|
|
|
subtitles = {} |
|
|
|
if subtitles_url: |
|
|
|
subtitles = self.extract_subtitles(subtitles_url, video_id, baseurl) |
|
|
|
subtitles['no'] = [{ |
|
|
|
'ext': 'ttml', |
|
|
|
'url': compat_urlparse.urljoin(base_url, subtitles_url), |
|
|
|
}] |
|
|
|
|
|
|
|
return { |
|
|
|
'id': video_id, |
|
|
|