From 58cd7e173e70ae40a79bb10e08b2c2ea02bc8248 Mon Sep 17 00:00:00 2001 From: remitamine Date: Sat, 10 Oct 2015 12:28:12 +0100 Subject: [PATCH] [adultswim] detect when video needs authentication --- youtube_dl/extractor/adultswim.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/youtube_dl/extractor/adultswim.py b/youtube_dl/extractor/adultswim.py index 27de07587..0eb21b16d 100644 --- a/youtube_dl/extractor/adultswim.py +++ b/youtube_dl/extractor/adultswim.py @@ -41,7 +41,8 @@ class AdultSwimIE(InfoExtractor): 'id': 'rQxZvXQ4ROaSOqq-or2Mow', 'title': 'Rick and Morty - Pilot', 'description': "Rick moves in with his daughter's family and establishes himself as a bad influence on his grandson, Morty. " - } + }, + 'skip': 'This video is only available for registered users', }, { 'url': 'http://www.adultswim.com/videos/playlists/american-parenting/putting-francine-out-of-business/', 'playlist': [ @@ -84,7 +85,10 @@ class AdultSwimIE(InfoExtractor): def find_video_info(collection, slug): for video in collection.get('videos'): if video.get('slug') == slug: - return video + if video.get('auth'): + raise ExtractorError('This video is only available for registered users', expected=True) + else: + return video @staticmethod def find_collection_by_linkURL(collections, linkURL): @@ -97,7 +101,10 @@ def find_collection_containing_video(collections, slug): for collection in collections: for video in collection.get('videos'): if video.get('slug') == slug: - return collection, video + if video.get('auth'): + raise ExtractorError('This video is only available for registered users', expected=True) + else: + return collection, video return None, None def _real_extract(self, url): @@ -128,6 +135,8 @@ def _real_extract(self, url): if video_info is None: if bootstrapped_data.get('slugged_video', {}).get('slug') == episode_path: video_info = bootstrapped_data['slugged_video'] + if video_info.get('auth'): + raise ExtractorError('This video is only available for registered users', expected=True) else: raise ExtractorError('Unable to find video info')