summary refs log tree commit diff
diff options
context:
space:
mode:
authorRemita Amine <remitamine@gmail.com>2019-10-15 21:01:59 +0100
committerRemita Amine <remitamine@gmail.com>2019-10-15 21:01:59 +0100
commit974311b5aa1a53564a00915b9228af30e2a5b40d (patch)
tree5580a88f134766664cdc4cf4984f8e41b7abf015
parent30eb05cb41d95a73f7baff8da9ec1d6a50b08f50 (diff)
downloadyoutube-dl-974311b5aa1a53564a00915b9228af30e2a5b40d.tar.gz
youtube-dl-974311b5aa1a53564a00915b9228af30e2a5b40d.tar.xz
youtube-dl-974311b5aa1a53564a00915b9228af30e2a5b40d.zip
[vimeo] improve album videos id extraction(closes #22599)
-rw-r--r--youtube_dl/extractor/vimeo.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/youtube_dl/extractor/vimeo.py b/youtube_dl/extractor/vimeo.py
index 5dc38e243..9abd59d98 100644
--- a/youtube_dl/extractor/vimeo.py
+++ b/youtube_dl/extractor/vimeo.py
@@ -938,7 +938,7 @@ class VimeoAlbumIE(VimeoChannelIE):
     def _fetch_page(self, album_id, authorizaion, hashed_pass, page):
         api_page = page + 1
         query = {
-            'fields': 'link',
+            'fields': 'link,uri',
             'page': api_page,
             'per_page': self._PAGE_SIZE,
         }
@@ -953,7 +953,9 @@ class VimeoAlbumIE(VimeoChannelIE):
             link = video.get('link')
             if not link:
                 continue
-            yield self.url_result(link, VimeoIE.ie_key(), VimeoIE._match_id(link))
+            uri = video.get('uri')
+            video_id = self._search_regex(r'/videos/(\d+)', uri, 'video_id', default=None) if uri else None
+            yield self.url_result(link, VimeoIE.ie_key(), video_id)
 
     def _real_extract(self, url):
         album_id = self._match_id(url)