Add an extractor for Szombathelyi TV
[youtube-dl] / youtube_dl / extractor / sztvhu.py
1 # -*- coding: utf-8 -*-
2
3 import re
4
5 from .common import InfoExtractor
6 from ..utils import determine_ext
7
8 class SztvHuIE(InfoExtractor):
9     _VALID_URL = r'(?:http://)?(?:(?:www\.)?sztv\.hu|www\.tvszombathely\.hu)/([^/]+)/(?P<name>.+)'
10     _TEST = {
11         u'url': u'http://sztv.hu/hirek/cserkeszek-nepszerusitettek-a-kornyezettudatos-eletmodot-a-savaria-teren-20130909',
12         u'file': u'130909zoldnap.mp4',
13         u'md5': u'0047eacedc0afd1ceeac99e69173a07e',
14         u'info_dict': {
15             u"title": u"Cserkészek népszerűsítették a környezettudatos életmódot a Savaria téren",
16             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...',
17         }
18     }
19
20     def _real_extract(self, url):
21         mobj = re.match(self._VALID_URL, url)
22         name = mobj.group('name')
23         webpage = self._download_webpage(url, name)
24 #        file = self._search_regex(r'var fileHtml5 = "...:(.*?)";',
25         file = self._search_regex(r'file: "...:(.*?)",',
26                                 webpage, 'video file')
27         title = self._html_search_regex(r'<meta name="title" content="([^"]*)"',
28                                 webpage, 'video title').rsplit(' - ', 2)[0]
29         description = self._html_search_regex(r'<meta name="description" content="([^"]*)"/>',
30                                 webpage, 'video description')
31         thumbnail = self._og_search_thumbnail(webpage)
32
33         video_url = 'http://media.sztv.hu/vod/' + file
34
35         return {'id': name,
36                 'url' : video_url,
37                 'title': title,
38                 'ext': determine_ext(video_url),
39                 'description': description,
40                 'thumbnail': thumbnail,
41                 }