]> jfr.im git - yt-dlp.git/blob - youtube_dl/extractor/ynet.py
[ynet] Fix test checksums
[yt-dlp.git] / youtube_dl / extractor / ynet.py
1 # coding: utf-8
2 from __future__ import unicode_literals
3
4 import re
5 import json
6
7 from .common import InfoExtractor
8 from ..utils import compat_urllib_parse
9
10
11 class YnetIE(InfoExtractor):
12 _VALID_URL = r'http://(?:.+?\.)?ynet\.co\.il/(?:.+?/)?0,7340,(?P<id>L(?:-[0-9]+)+),00\.html'
13 _TESTS = [
14 {
15 'url': 'http://hot.ynet.co.il/home/0,7340,L-11659-99244,00.html',
16 'md5': '4b29cb57c3dddd57642b3f051f535b07',
17 'info_dict': {
18 'id': 'L-11659-99244',
19 'ext': 'flv',
20 'title': 'איש לא יודע מאיפה באנו',
21 'thumbnail': 're:^https?://.*\.jpg',
22 }
23 }, {
24 'url': 'http://hot.ynet.co.il/home/0,7340,L-8859-84418,00.html',
25 'md5': '8194c2ea221e9a639cac96b6b0753dc5',
26 'info_dict': {
27 'id': 'L-8859-84418',
28 'ext': 'flv',
29 'title': "צפו: הנשיקה הלוהטת של תורגי' ויוליה פלוטקין",
30 'thumbnail': 're:^https?://.*\.jpg',
31 }
32 }
33 ]
34
35 def _real_extract(self, url):
36 video_id = self._match_id(url)
37 webpage = self._download_webpage(url, video_id)
38
39 content = compat_urllib_parse.unquote_plus(self._og_search_video_url(webpage))
40 config = json.loads(self._search_regex(r'config=({.+?})$', content, 'video config'))
41 f4m_url = config['clip']['url']
42 title = self._og_search_title(webpage)
43 m = re.search(r'ynet - HOT -- (["\']+)(?P<title>.+?)\1', title)
44 if m:
45 title = m.group('title')
46
47 return {
48 'id': video_id,
49 'title': title,
50 'formats': self._extract_f4m_formats(f4m_url, video_id),
51 'thumbnail': self._og_search_thumbnail(webpage),
52 }