diff options
| author | Remita Amine <remitamine@gmail.com> | 2016-09-15 08:12:12 +0100 | 
|---|---|---|
| committer | Remita Amine <remitamine@gmail.com> | 2016-09-15 08:12:12 +0100 | 
| commit | c035dba19e815eca4a21f17918e96c2e2bd55d6b (patch) | |
| tree | 215d7b7a4163c7c7fba1026ec83a95c0f5381c5c /youtube_dl/extractor/bellmedia.py | |
| parent | 87148bb7110ed54ef50f0660dfe0a735cdede3ca (diff) | |
[bellmedia] add support for more sites
Diffstat (limited to 'youtube_dl/extractor/bellmedia.py')
| -rw-r--r-- | youtube_dl/extractor/bellmedia.py | 75 | 
1 files changed, 75 insertions, 0 deletions
| diff --git a/youtube_dl/extractor/bellmedia.py b/youtube_dl/extractor/bellmedia.py new file mode 100644 index 000000000..32326ed9e --- /dev/null +++ b/youtube_dl/extractor/bellmedia.py @@ -0,0 +1,75 @@ +# coding: utf-8 +from __future__ import unicode_literals + +import re + +from .common import InfoExtractor + + +class BellMediaIE(InfoExtractor): +    _VALID_URL = r'''(?x)https?://(?:www\.)? +        (?P<domain> +            (?: +                ctv| +                tsn| +                bnn| +                thecomedynetwork| +                discovery| +                discoveryvelocity| +                sciencechannel| +                investigationdiscovery| +                animalplanet| +                bravo| +                mtv| +                space +            )\.ca| +            much\.com +        )/.*?(?:\bvid=|-vid|~|%7E|/(?:episode)?)(?P<id>[0-9]{6})''' +    _TESTS = [{ +        'url': 'http://www.ctv.ca/video/player?vid=706966', +        'md5': 'ff2ebbeae0aa2dcc32a830c3fd69b7b0', +        'info_dict': { +            'id': '706966', +            'ext': 'mp4', +            'title': 'Larry Day and Richard Jutras on the TIFF red carpet of \'Stonewall\'', +            'description': 'etalk catches up with Larry Day and Richard Jutras on the TIFF red carpet of "Stonewall”.', +            'upload_date': '20150919', +            'timestamp': 1442624700, +        }, +        'expected_warnings': ['HTTP Error 404'], +    }, { +        'url': 'http://www.thecomedynetwork.ca/video/player?vid=923582', +        'only_matching': True, +    }, { +        'url': 'http://www.tsn.ca/video/expectations-high-for-milos-raonic-at-us-open~939549', +        'only_matching': True, +    }, { +        'url': 'http://www.bnn.ca/video/berman-s-call-part-two-viewer-questions~939654', +        'only_matching': True, +    }, { +        'url': 'http://www.ctv.ca/YourMorning/Video/S1E6-Monday-August-29-2016-vid938009', +        'only_matching': True, +    }, { +        'url': 'http://www.much.com/shows/atmidnight/episode948007/tuesday-september-13-2016', +        'only_matching': True, +    }, { +        'url': 'http://www.much.com/shows/the-almost-impossible-gameshow/928979/episode-6', +        'only_matching': True, +    }] +    _DOMAINS = { +        'thecomedynetwork': 'comedy', +        'discoveryvelocity': 'discvel', +        'sciencechannel': 'discsci', +        'investigationdiscovery': 'invdisc', +        'animalplanet': 'aniplan', +    } + +    def _real_extract(self, url): +        domain, video_id = re.match(self._VALID_URL, url).groups() +        domain = domain.split('.')[0] +        return { +            '_type': 'url_transparent', +            'id': video_id, +            'url': '9c9media:%s_web:%s' % (self._DOMAINS.get(domain, domain), video_id), +            'ie_key': 'NineCNineMedia', +        } | 
