|
@@ -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)
|