diff --git a/youtube_dl/extractor/odnoklassniki.py b/youtube_dl/extractor/odnoklassniki.py index ade977658..e716da7da 100644 --- a/youtube_dl/extractor/odnoklassniki.py +++ b/youtube_dl/extractor/odnoklassniki.py @@ -119,8 +119,7 @@ class OdnoklassnikiIE(InfoExtractor): # Paid video 'url': 'https://ok.ru/video/954886983203', 'only_matching': True, - } - ] + }] def _real_extract(self, url): start_time = int_or_none(compat_parse_qs( @@ -158,10 +157,6 @@ class OdnoklassnikiIE(InfoExtractor): video_id, 'Downloading metadata JSON', data=urlencode_postdata(data)) - paymentInfo = metadata.get('paymentInfo') - if paymentInfo: - raise ExtractorError('This is Paid video. you need to subscribe in order to watch it', expected=True) - movie = metadata['movie'] # Some embedded videos may not contain title in movie dict (e.g. @@ -292,6 +287,11 @@ class OdnoklassnikiIE(InfoExtractor): 'ext': 'flv', }) + if not formats: + payment_info = metadata.get('paymentInfo') + if payment_info: + raise ExtractorError('This video is paid, subscribe to download it', expected=True) + self._sort_formats(formats) info['formats'] = formats