From 54df8fc5b25a0c9d159a23f5cf9f1eabce1e6294 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Sat, 3 Apr 2021 00:23:46 +0530 Subject: [PATCH] [ViewSource] Add extractor to handle `view-source:` --- yt_dlp/extractor/commonprotocols.py | 15 +++++++++++++++ yt_dlp/extractor/extractors.py | 1 + 2 files changed, 16 insertions(+) diff --git a/yt_dlp/extractor/commonprotocols.py b/yt_dlp/extractor/commonprotocols.py index d98331a4e..1fc7779b8 100644 --- a/yt_dlp/extractor/commonprotocols.py +++ b/yt_dlp/extractor/commonprotocols.py @@ -1,5 +1,7 @@ from __future__ import unicode_literals +import re + from .common import InfoExtractor from ..compat import ( compat_urlparse, @@ -58,3 +60,16 @@ def _real_extract(self, url): 'title': title, 'url': url, } + + +class ViewSourceIE(InfoExtractor): + IE_DESC = False + _VALID_URL = r'view-source:(?P.+)' + + _TEST = { + 'url': 'view-source:https://www.youtube.com/watch?v=BaW_jenozKc', + 'only_matching': True + } + + def _real_extract(self, url): + return self.url_result(re.match(self._VALID_URL, url).group('url')) diff --git a/yt_dlp/extractor/extractors.py b/yt_dlp/extractor/extractors.py index d9b7e3b5d..d9e6742ba 100644 --- a/yt_dlp/extractor/extractors.py +++ b/yt_dlp/extractor/extractors.py @@ -264,6 +264,7 @@ from .commonprotocols import ( MmsIE, RtmpIE, + ViewSourceIE, ) from .condenast import CondeNastIE from .contv import CONtvIE