[cda] fix premium videos for premium users (?)

This commit is contained in:
Lauren Liberda 2021-04-09 13:56:17 +02:00 committed by Dominika
parent 6ea512d062
commit e293203eba

View file

@ -126,9 +126,6 @@ class CDAIE(CDABaseExtractor):
metadata = self._download_json(
self._BASE_URL + '/video/' + video_id, video_id, headers=headers)['video']
if metadata.get('premium') is True and metadata.get('premium_free') is not True:
raise ExtractorError('This video is only available for premium users.', expected=True)
uploader = try_get(metadata, lambda x: x['author']['login'])
# anonymous uploader
if uploader == 'anonim':
@ -136,6 +133,8 @@ class CDAIE(CDABaseExtractor):
formats = []
for quality in metadata['qualities']:
if not quality['file']:
continue
formats.append({
'url': quality['file'],
'format': quality['title'],
@ -144,6 +143,13 @@ class CDAIE(CDABaseExtractor):
'filesize': quality.get('length'),
})
if not formats:
if metadata.get('premium') is True and metadata.get('premium_free') is not True:
raise ExtractorError('This video is only available for premium users.', expected=True)
raise ExtractorError('No video qualities found', video_id=video_id)
self._sort_formats(formats)
return {
'id': video_id,
'title': metadata['title'],