]> gitweb @ CieloNegro.org - youtube-dl.git/blobdiff - youtube_dl/extractor/ntv.py
[comedycentral] Match more URLs
[youtube-dl.git] / youtube_dl / extractor / ntv.py
index e998d156e3f43a25adf8c31c8e904d3aa96590d1..dfbcb792ca607c45f05d8183b0791bee8782ec80 100644 (file)
@@ -5,7 +5,7 @@ import re
 
 from .common import InfoExtractor
 from ..utils import (
-    RegexNotFoundError,
+    ExtractorError,
     unescapeHTML
 )
 
@@ -59,11 +59,11 @@ class NTVIE(InfoExtractor):
         {
             'url': 'http://www.ntv.ru/kino/Koma_film',
             'info_dict': {
-                'id': '750783',
+                'id': '758100',
                 'ext': 'flv',
-                'title': 'Остросюжетный фильм «Кома» \97 4 апреля вечером на НТВ',
-                'description': 'Остросюжетный фильм «Кома» \97 4 апреля вечером на НТВ',
-                'duration': 28,
+                'title': 'Остросюжетный фильм «Кома»',
+                'description': 'Остросюжетный фильм «Кома»',
+                'duration': 5592,
             },
             'params': {
                     # rtmp download
@@ -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)