diff options
| -rw-r--r-- | youtube_dl/extractor/extractors.py | 1 | ||||
| -rw-r--r-- | youtube_dl/extractor/youtube.py | 19 | 
2 files changed, 20 insertions, 0 deletions
| diff --git a/youtube_dl/extractor/extractors.py b/youtube_dl/extractor/extractors.py index 7ba4087fd..71178da7e 100644 --- a/youtube_dl/extractor/extractors.py +++ b/youtube_dl/extractor/extractors.py @@ -1491,6 +1491,7 @@ from .yourporn import YourPornIE  from .yourupload import YourUploadIE  from .youtube import (      YoutubeIE, +    YoutubeFavouritesIE,      YoutubeHistoryIE,      YoutubeTabIE,      YoutubePlaylistIE, diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 8f814a81c..29c1d0413 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -3149,6 +3149,25 @@ class YoutubeYtUserIE(InfoExtractor):              ie=YoutubeTabIE.ie_key(), video_id=user_id) +class YoutubeFavouritesIE(YoutubeBaseInfoExtractor): +    IE_NAME = 'youtube:favorites' +    IE_DESC = 'YouTube.com favourite videos, ":ytfav" for short (requires authentication)' +    _VALID_URL = r'https?://(?:www\.)?youtube\.com/my_favorites|:ytfav(?:ou?rites)?' +    _LOGIN_REQUIRED = True +    _TESTS = [{ +        'url': ':ytfav', +        'only_matching': True, +    }, { +        'url': ':ytfavorites', +        'only_matching': True, +    }] + +    def _real_extract(self, url): +        return self.url_result( +            'https://www.youtube.com/playlist?list=LL', +            ie=YoutubeTabIE.ie_key()) + +  class YoutubeSearchIE(SearchInfoExtractor, YoutubeBaseInfoExtractor):      IE_DESC = 'YouTube.com searches'      # there doesn't appear to be a real limit, for example if you search for | 
