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