X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=sidebyside;f=youtube_dl%2Fextractor%2Fodnoklassniki.py;h=ccc88cfb1a8657ec4266a03bfa07c8aa0e598cd6;hb=4c917d0314f0442fd17d6f8ec8e583252167512c;hp=a077b676fc60a1db87c05eb50515b7283e5c8ba4;hpb=88720ed09b7921c967432fc3f4aa7a994e8028a5;p=youtube-dl diff --git a/youtube_dl/extractor/odnoklassniki.py b/youtube_dl/extractor/odnoklassniki.py index a077b676f..ccc88cfb1 100644 --- a/youtube_dl/extractor/odnoklassniki.py +++ b/youtube_dl/extractor/odnoklassniki.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals from .common import InfoExtractor from ..compat import compat_urllib_parse_unquote from ..utils import ( + ExtractorError, unified_strdate, int_or_none, qualities, @@ -28,6 +29,7 @@ class OdnoklassnikiIE(InfoExtractor): 'like_count': int, 'age_limit': 0, }, + 'skip': 'Video has been blocked', }, { # metadataUrl 'url': 'http://ok.ru/video/63567059965189-0', @@ -72,6 +74,12 @@ class OdnoklassnikiIE(InfoExtractor): webpage = self._download_webpage( 'http://ok.ru/video/%s' % video_id, video_id) + error = self._search_regex( + r'[^>]+class="vp_video_stub_txt"[^>]*>([^<]+)<', + webpage, 'error', default=None) + if error: + raise ExtractorError(error, expected=True) + player = self._parse_json( unescapeHTML(self._search_regex( r'data-options=(?P["\'])(?P{.+?%s.+?})(?P=quote)' % video_id, @@ -135,6 +143,7 @@ class OdnoklassnikiIE(InfoExtractor): 'format_id': f['name'], 'quality': quality(f['name']), } for f in metadata['videos']] + self._sort_formats(formats) info['formats'] = formats return info