|
|
@ -17,9 +17,9 @@ from ..utils import (
|
|
|
|
class RutubeIE(InfoExtractor):
|
|
|
|
class RutubeIE(InfoExtractor):
|
|
|
|
IE_NAME = 'rutube'
|
|
|
|
IE_NAME = 'rutube'
|
|
|
|
IE_DESC = 'Rutube videos'
|
|
|
|
IE_DESC = 'Rutube videos'
|
|
|
|
_VALID_URL = r'https?://rutube\.ru/video/(?P<id>[\da-z]{32})'
|
|
|
|
_VALID_URL = r'https?://rutube\.ru/(?:video|play/embed)/(?P<id>[\da-z]{32})'
|
|
|
|
|
|
|
|
|
|
|
|
_TEST = {
|
|
|
|
_TESTS = [{
|
|
|
|
'url': 'http://rutube.ru/video/3eac3b4561676c17df9132a9a1e62e3e/',
|
|
|
|
'url': 'http://rutube.ru/video/3eac3b4561676c17df9132a9a1e62e3e/',
|
|
|
|
'info_dict': {
|
|
|
|
'info_dict': {
|
|
|
|
'id': '3eac3b4561676c17df9132a9a1e62e3e',
|
|
|
|
'id': '3eac3b4561676c17df9132a9a1e62e3e',
|
|
|
@ -36,7 +36,10 @@ class RutubeIE(InfoExtractor):
|
|
|
|
# It requires ffmpeg (m3u8 download)
|
|
|
|
# It requires ffmpeg (m3u8 download)
|
|
|
|
'skip_download': True,
|
|
|
|
'skip_download': True,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}, {
|
|
|
|
|
|
|
|
'url': 'http://rutube.ru/play/embed/a10e53b86e8f349080f718582ce4c661',
|
|
|
|
|
|
|
|
'only_matching': True,
|
|
|
|
|
|
|
|
}]
|
|
|
|
|
|
|
|
|
|
|
|
def _real_extract(self, url):
|
|
|
|
def _real_extract(self, url):
|
|
|
|
video_id = self._match_id(url)
|
|
|
|
video_id = self._match_id(url)
|
|
|
|