|
|
@ -5,7 +5,7 @@ import re |
|
|
|
|
|
|
|
from .common import InfoExtractor |
|
|
|
from ..utils import ( |
|
|
|
RegexNotFoundError, |
|
|
|
ExtractorError, |
|
|
|
unescapeHTML |
|
|
|
) |
|
|
|
|
|
|
@ -98,16 +98,15 @@ class NTVIE(InfoExtractor): |
|
|
|
|
|
|
|
page = self._download_webpage(url, video_id, 'Downloading page') |
|
|
|
|
|
|
|
def extract(patterns, name, page, fatal=False): |
|
|
|
for pattern in patterns: |
|
|
|
mobj = re.search(pattern, page) |
|
|
|
if mobj: |
|
|
|
return mobj.group(1) |
|
|
|
if fatal: |
|
|
|
raise RegexNotFoundError(u'Unable to extract %s' % name) |
|
|
|
return None |
|
|
|
for pattern in self._VIDEO_ID_REGEXES: |
|
|
|
mobj = re.search(pattern, page) |
|
|
|
if mobj: |
|
|
|
break |
|
|
|
|
|
|
|
video_id = extract(self._VIDEO_ID_REGEXES, 'video id', page, fatal=True) |
|
|
|
if not mobj: |
|
|
|
raise ExtractorError('No media links available for %s' % video_id) |
|
|
|
|
|
|
|
video_id = mobj.group(1) |
|
|
|
|
|
|
|
player = self._download_xml('http://www.ntv.ru/vi%s/' % video_id, video_id, 'Downloading video XML') |
|
|
|
title = unescapeHTML(player.find('./data/title').text) |
|
|
|