diff options
| -rw-r--r-- | youtube_dl/extractor/wat.py | 55 | 
1 files changed, 13 insertions, 42 deletions
diff --git a/youtube_dl/extractor/wat.py b/youtube_dl/extractor/wat.py index 8ef3e0906..7214bfebf 100644 --- a/youtube_dl/extractor/wat.py +++ b/youtube_dl/extractor/wat.py @@ -1,12 +1,9 @@  # coding: utf-8  from __future__ import unicode_literals -import re -  from .common import InfoExtractor  from ..compat import compat_str  from ..utils import ( -    ExtractorError,      unified_strdate,      HEADRequest,      int_or_none, @@ -97,46 +94,20 @@ class WatIE(InfoExtractor):                      return red_url              return None -        def remove_bitrate_limit(manifest_url): -            return re.sub(r'(?:max|min)_bitrate=\d+&?', '', manifest_url) -          formats = [] -        try: -            alt_urls = lambda manifest_url: [re.sub(r'(?:wdv|ssm)?\.ism/', repl + '.ism/', manifest_url) for repl in ('', 'ssm')] -            manifest_urls = self._download_json( -                'http://www.wat.tv/get/webhtml/' + video_id, video_id) -            m3u8_url = manifest_urls.get('hls') -            if m3u8_url: -                m3u8_url = remove_bitrate_limit(m3u8_url) -                for m3u8_alt_url in alt_urls(m3u8_url): -                    formats.extend(self._extract_m3u8_formats( -                        m3u8_alt_url, video_id, 'mp4', -                        'm3u8_native', m3u8_id='hls', fatal=False)) -                    formats.extend(self._extract_f4m_formats( -                        m3u8_alt_url.replace('ios', 'web').replace('.m3u8', '.f4m'), -                        video_id, f4m_id='hds', fatal=False)) -            mpd_url = manifest_urls.get('mpd') -            if mpd_url: -                mpd_url = remove_bitrate_limit(mpd_url) -                for mpd_alt_url in alt_urls(mpd_url): -                    formats.extend(self._extract_mpd_formats( -                        mpd_alt_url, video_id, mpd_id='dash', fatal=False)) -            self._sort_formats(formats) -        except ExtractorError: -            abr = 64 -            for vbr, width, height in self._FORMATS: -                tbr = vbr + abr -                format_id = 'http-%s' % tbr -                fmt_url = 'http://dnl.adv.tf1.fr/2/USP-0x0/%s/%s/%s/ssm/%s-%s-64k.mp4' % (video_id[-4:-2], video_id[-2:], video_id, video_id, vbr) -                if self._is_valid_url(fmt_url, video_id, format_id): -                    formats.append({ -                        'format_id': format_id, -                        'url': fmt_url, -                        'vbr': vbr, -                        'abr': abr, -                        'width': width, -                        'height': height, -                    }) +        manifest_urls = self._download_json( +            'http://www.wat.tv/get/webhtml/' + video_id, video_id) +        m3u8_url = manifest_urls.get('hls') +        if m3u8_url: +            formats.extend(self._extract_m3u8_formats( +                m3u8_url, video_id, 'mp4', +                'm3u8_native', m3u8_id='hls', fatal=False)) +        mpd_url = manifest_urls.get('mpd') +        if mpd_url: +            formats.extend(self._extract_mpd_formats( +                mpd_url.replace('://das-q1.tf1.fr/', '://das-q1-ssl.tf1.fr/'), +                video_id, mpd_id='dash', fatal=False)) +        self._sort_formats(formats)          date_diffusion = first_chapter.get('date_diffusion') or video_data.get('configv4', {}).get('estatS4')          upload_date = unified_strdate(date_diffusion) if date_diffusion else None  | 
