about summary refs log tree commit diff
path: root/youtube_dl/extractor/vimeo.py
diff options
context:
space:
mode:
authorRemita Amine <remitamine@gmail.com>2019-03-01 08:14:34 +0100
committerRemita Amine <remitamine@gmail.com>2019-03-01 08:14:34 +0100
commit06242d44fe261999e2424d9ecb00f20ff30ccb9b (patch)
treeee7642360cd62140005447375269f43de864bd08 /youtube_dl/extractor/vimeo.py
parent04c33bdfb3cd73e71bf0788f02998cab30cf1da2 (diff)
downloadyoutube-dl-06242d44fe261999e2424d9ecb00f20ff30ccb9b.tar.gz
youtube-dl-06242d44fe261999e2424d9ecb00f20ff30ccb9b.tar.xz
youtube-dl-06242d44fe261999e2424d9ecb00f20ff30ccb9b.zip
[vimeo] add support for Vimeo Pro portfolio protected videos(closes #20070)
Diffstat (limited to 'youtube_dl/extractor/vimeo.py')
-rw-r--r--youtube_dl/extractor/vimeo.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/youtube_dl/extractor/vimeo.py b/youtube_dl/extractor/vimeo.py
index 6215b3258..6f32ea6f1 100644
--- a/youtube_dl/extractor/vimeo.py
+++ b/youtube_dl/extractor/vimeo.py
@@ -502,7 +502,11 @@ class VimeoIE(VimeoBaseInfoExtractor):
         mobj = re.match(self._VALID_URL, url)
         video_id = mobj.group('id')
         orig_url = url
-        if mobj.group('pro') or mobj.group('player'):
+        if mobj.group('pro'):
+            # some videos require portfolio_id to be present in player url
+            # https://github.com/rg3/youtube-dl/issues/20070
+            url = self._extract_url(url, self._download_webpage(url, video_id))
+        elif mobj.group('player'):
             url = 'https://player.vimeo.com/video/' + video_id
         elif any(p in url for p in ('play_redirect_hls', 'moogaloop.swf')):
             url = 'https://vimeo.com/' + video_id