diff options
Diffstat (limited to 'youtube_dl/extractor/groupon.py')
-rw-r--r-- | youtube_dl/extractor/groupon.py | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/youtube_dl/extractor/groupon.py b/youtube_dl/extractor/groupon.py deleted file mode 100644 index a6da90931..000000000 --- a/youtube_dl/extractor/groupon.py +++ /dev/null @@ -1,67 +0,0 @@ -from __future__ import unicode_literals - -from .common import InfoExtractor - - -class GrouponIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?groupon\.com/deals/(?P<id>[^/?#&]+)' - - _TEST = { - 'url': 'https://www.groupon.com/deals/bikram-yoga-huntington-beach-2#ooid=tubGNycTo_9Uxg82uESj4i61EYX8nyuf', - 'info_dict': { - 'id': 'bikram-yoga-huntington-beach-2', - 'title': '$49 for 10 Yoga Classes or One Month of Unlimited Classes at Bikram Yoga Huntington Beach ($180 Value)', - 'description': 'Studio kept at 105 degrees and 40% humidity with anti-microbial and anti-slip Flotex flooring; certified instructors', - }, - 'playlist': [{ - 'md5': '42428ce8a00585f9bc36e49226eae7a1', - 'info_dict': { - 'id': 'fk6OhWpXgIQ', - 'ext': 'mp4', - 'title': 'Bikram Yoga Huntington Beach | Orange County !tubGNycTo@9Uxg82uESj4i61EYX8nyuf', - 'description': 'md5:d41d8cd98f00b204e9800998ecf8427e', - 'duration': 45, - 'upload_date': '20160405', - 'uploader_id': 'groupon', - 'uploader': 'Groupon', - }, - 'add_ie': ['Youtube'], - }], - 'params': { - 'skip_download': True, - }, - } - - _PROVIDERS = { - 'ooyala': ('ooyala:%s', 'Ooyala'), - 'youtube': ('%s', 'Youtube'), - } - - def _real_extract(self, url): - playlist_id = self._match_id(url) - webpage = self._download_webpage(url, playlist_id) - - payload = self._parse_json(self._search_regex( - r'(?:var\s+|window\.)payload\s*=\s*(.*?);\n', webpage, 'payload'), playlist_id) - videos = payload['carousel'].get('dealVideos', []) - entries = [] - for v in videos: - provider = v.get('provider') - video_id = v.get('media') or v.get('id') or v.get('baseURL') - if not provider or not video_id: - continue - url_pattern, ie_key = self._PROVIDERS.get(provider.lower()) - if not url_pattern: - self.report_warning( - '%s: Unsupported video provider %s, skipping video' % - (playlist_id, provider)) - continue - entries.append(self.url_result(url_pattern % video_id, ie_key)) - - return { - '_type': 'playlist', - 'id': playlist_id, - 'entries': entries, - 'title': self._og_search_title(webpage), - 'description': self._og_search_description(webpage), - } |