about summary refs log tree commit diff
path: root/youtube_dl/extractor/comedycentral.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2016-07-17 16:58:58 +0700
committerSergey M․ <dstftw@gmail.com>2016-07-17 16:58:58 +0700
commit45550d10395f1e7fe59c4c3ff8ff8d909074a8d0 (patch)
treed0d74a29b9e69291d5f3ad0f4a7e3ebc46cbb2bc /youtube_dl/extractor/comedycentral.py
parent7cdfc4c90fd4f913a96e4493a49af50189b26480 (diff)
downloadyoutube-dl-45550d10395f1e7fe59c4c3ff8ff8d909074a8d0.tar.gz
youtube-dl-45550d10395f1e7fe59c4c3ff8ff8d909074a8d0.tar.xz
youtube-dl-45550d10395f1e7fe59c4c3ff8ff8d909074a8d0.zip
[comedycentraltv] Add extractor (Closes #10101)
Diffstat (limited to 'youtube_dl/extractor/comedycentral.py')
-rw-r--r--youtube_dl/extractor/comedycentral.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/youtube_dl/extractor/comedycentral.py b/youtube_dl/extractor/comedycentral.py
index 2b6aaa3aa..63f68f765 100644
--- a/youtube_dl/extractor/comedycentral.py
+++ b/youtube_dl/extractor/comedycentral.py
@@ -273,3 +273,36 @@ class ComedyCentralShowsIE(MTVServicesInfoExtractor):
             'title': show_name + ' ' + title,
             'description': description,
         }
+
+
+class ComedyCentralTVIE(MTVServicesInfoExtractor):
+    _VALID_URL = r'https?://(?:www\.)?comedycentral\.tv/(?:staffeln|shows)/(?P<id>[^/?#&]+)'
+    _TESTS = [{
+        'url': 'http://www.comedycentral.tv/staffeln/7436-the-mindy-project-staffel-4',
+        'info_dict': {
+            'id': 'local_playlist-f99b626bdfe13568579a',
+            'ext': 'flv',
+            'title': 'Episode_the-mindy-project_shows_season-4_episode-3_full-episode_part1',
+        },
+        'params': {
+            # rtmp download
+            'skip_download': True,
+        },
+    }, {
+        'url': 'http://www.comedycentral.tv/shows/1074-workaholics',
+        'only_matching': True,
+    }, {
+        'url': 'http://www.comedycentral.tv/shows/1727-the-mindy-project/bonus',
+        'only_matching': True,
+    }]
+
+    def _real_extract(self, url):
+        video_id = self._match_id(url)
+
+        webpage = self._download_webpage(url, video_id)
+
+        mrss_url = self._search_regex(
+            r'data-mrss=(["\'])(?P<url>(?:(?!\1).)+)\1',
+            webpage, 'mrss url', group='url')
+
+        return self._get_videos_info_from_url(mrss_url, video_id)