[PATCH] [vimeo:album] Fix extraction for albums with number of videos multiple to page size

Original author: dstftw
This commit is contained in:
Lauren Liberda 2021-03-20 20:32:05 +01:00 committed by Dominika
parent 0d8471c5cd
commit 7bc8f716ac

View file

@ -930,7 +930,7 @@ class VimeoAlbumIE(VimeoBaseInfoExtractor):
}] }]
_PAGE_SIZE = 100 _PAGE_SIZE = 100
def _fetch_page(self, album_id, authorizaion, hashed_pass, page): def _fetch_page(self, album_id, authorization, hashed_pass, page):
api_page = page + 1 api_page = page + 1
query = { query = {
'fields': 'link,uri', 'fields': 'link,uri',
@ -939,11 +939,15 @@ class VimeoAlbumIE(VimeoBaseInfoExtractor):
} }
if hashed_pass: if hashed_pass:
query['_hashed_pass'] = hashed_pass query['_hashed_pass'] = hashed_pass
videos = self._download_json( try:
'https://api.vimeo.com/albums/%s/videos' % album_id, videos = self._download_json(
album_id, 'Downloading page %d' % api_page, query=query, headers={ 'https://api.vimeo.com/albums/%s/videos' % album_id,
'Authorization': 'jwt ' + authorizaion, album_id, 'Downloading page %d' % api_page, query=query, headers={
})['data'] 'Authorization': 'jwt ' + authorization,
})['data']
except ExtractorError as e:
if isinstance(e.cause, compat_HTTPError) and e.cause.code == 400:
return
for video in videos: for video in videos:
link = video.get('link') link = video.get('link')
if not link: if not link: