projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'bleacherreport' of github.com:remitamine/youtube-dl into remitamine...
[youtube-dl]
/
youtube_dl
/
extractor
/
odnoklassniki.py
diff --git
a/youtube_dl/extractor/odnoklassniki.py
b/youtube_dl/extractor/odnoklassniki.py
index 66520c2c56f102e53fe84c5e9970558b4714247b..184c7a323afad57f77e8d9b8c7402e68c721e705 100644
(file)
--- 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 (
from .common import InfoExtractor
from ..compat import compat_urllib_parse_unquote
from ..utils import (
+ ExtractorError,
unified_strdate,
int_or_none,
qualities,
unified_strdate,
int_or_none,
qualities,
@@
-12,7
+13,7
@@
from ..utils import (
class OdnoklassnikiIE(InfoExtractor):
class OdnoklassnikiIE(InfoExtractor):
- _VALID_URL = r'https?://(?:www\.)?(?:odnoklassniki|ok)\.ru/(?:video|web-api/video/moviePlayer)/(?P<id>[\d-]+)'
+ _VALID_URL = r'https?://(?:www\.)?(?:odnoklassniki|ok)\.ru/(?:video
(?:embed)?
|web-api/video/moviePlayer)/(?P<id>[\d-]+)'
_TESTS = [{
# metadata in JSON
'url': 'http://ok.ru/video/20079905452',
_TESTS = [{
# metadata in JSON
'url': 'http://ok.ru/video/20079905452',
@@
-28,6
+29,7
@@
class OdnoklassnikiIE(InfoExtractor):
'like_count': int,
'age_limit': 0,
},
'like_count': int,
'age_limit': 0,
},
+ 'skip': 'Video has been blocked',
}, {
# metadataUrl
'url': 'http://ok.ru/video/63567059965189-0',
}, {
# metadataUrl
'url': 'http://ok.ru/video/63567059965189-0',
@@
-64,6
+66,9
@@
class OdnoklassnikiIE(InfoExtractor):
}, {
'url': 'http://www.ok.ru/video/20648036891',
'only_matching': True,
}, {
'url': 'http://www.ok.ru/video/20648036891',
'only_matching': True,
+ }, {
+ 'url': 'http://www.ok.ru/videoembed/20648036891',
+ 'only_matching': True,
}]
def _real_extract(self, url):
}]
def _real_extract(self, url):
@@
-72,6
+77,12
@@
class OdnoklassnikiIE(InfoExtractor):
webpage = self._download_webpage(
'http://ok.ru/video/%s' % video_id, video_id)
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<quote>["\'])(?P<player>{.+?%s.+?})(?P=quote)' % video_id,
player = self._parse_json(
unescapeHTML(self._search_regex(
r'data-options=(?P<quote>["\'])(?P<player>{.+?%s.+?})(?P=quote)' % video_id,