[sztvhu] Simplify
authorPhilipp Hagemeister <phihag@phihag.de>
Mon, 14 Oct 2013 23:33:20 +0000 (01:33 +0200)
committerPhilipp Hagemeister <phihag@phihag.de>
Mon, 14 Oct 2013 23:33:20 +0000 (01:33 +0200)
youtube_dl/extractor/sztvhu.py

index 486f93d26c600d40734075b50d2770eb5f5ba330..cd3e203e6049fc666de496ab69c7c223a012954c 100644 (file)
@@ -5,37 +5,40 @@ import re
 from .common import InfoExtractor
 from ..utils import determine_ext
 
+
 class SztvHuIE(InfoExtractor):
-    _VALID_URL = r'(?:http://)?(?:(?:www\.)?sztv\.hu|www\.tvszombathely\.hu)/([^/]+)/(?P<name>.+)'
+    _VALID_URL = r'(?:http://)?(?:(?:www\.)?sztv\.hu|www\.tvszombathely\.hu)/(?:[^/]+)/.+-(?P<id>[0-9]+)'
     _TEST = {
         u'url': u'http://sztv.hu/hirek/cserkeszek-nepszerusitettek-a-kornyezettudatos-eletmodot-a-savaria-teren-20130909',
-        u'file': u'130909zoldnap.mp4',
-        u'md5': u'0047eacedc0afd1ceeac99e69173a07e',
+        u'file': u'20130909.mp4',
+        u'md5': u'a6df607b11fb07d0e9f2ad94613375cb',
         u'info_dict': {
             u"title": u"Cserkészek népszerűsítették a környezettudatos életmódot a Savaria téren",
-            u"description" : u'A zöld nap játékos ismeretterjesztő programjait a Magyar Cserkész Szövetség szervezte, akik az ország nyolc városában adják át tudásukat az érdeklődőknek. A PET...',
+            u"description": u'A zöld nap játékos ismeretterjesztő programjait a Magyar Cserkész Szövetség szervezte, akik az ország nyolc városában adják át tudásukat az érdeklődőknek. A PET...',
         }
     }
 
     def _real_extract(self, url):
         mobj = re.match(self._VALID_URL, url)
-        name = mobj.group('name')
-        webpage = self._download_webpage(url, name)
-#        file = self._search_regex(r'var fileHtml5 = "...:(.*?)";',
-        file = self._search_regex(r'file: "...:(.*?)",',
-                                webpage, 'video file')
-        title = self._html_search_regex(r'<meta name="title" content="([^"]*)"',
-                                webpage, 'video title').rsplit(' - ', 2)[0]
-        description = self._html_search_regex(r'<meta name="description" content="([^"]*)"/>',
-                                webpage, 'video description')
+        video_id = mobj.group('id')
+        webpage = self._download_webpage(url, video_id)
+        video_file = self._search_regex(
+            r'file: "...:(.*?)",', webpage, 'video file')
+        title = self._html_search_regex(
+            r'<meta name="title" content="([^"]*) - [^-]*"',
+            webpage, 'video title')
+        description = self._html_search_regex(
+            r'<meta name="description" content="([^"]*)"/>',
+            webpage, 'video description', fatal=False)
         thumbnail = self._og_search_thumbnail(webpage)
 
-        video_url = 'http://media.sztv.hu/vod/' + file
+        video_url = 'http://media.sztv.hu/vod/' + video_file
 
-        return {'id': name,
-                'url' : video_url,
-                'title': title,
-                'ext': determine_ext(video_url),
-                'description': description,
-                'thumbnail': thumbnail,
-                }
+        return {
+            'id': video_id,
+            'url': video_url,
+            'title': title,
+            'ext': determine_ext(video_url),
+            'description': description,
+            'thumbnail': thumbnail,
+        }