|
|
@ -17,7 +17,7 @@ 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|play/embed)/(?P<id>[\da-z]{32})'
|
|
|
|
_VALID_URL = r'https?://rutube\.ru/(?:video|(?:play/)?embed)/(?P<id>[\da-z]{32})'
|
|
|
|
|
|
|
|
|
|
|
|
_TESTS = [{
|
|
|
|
_TESTS = [{
|
|
|
|
'url': 'http://rutube.ru/video/3eac3b4561676c17df9132a9a1e62e3e/',
|
|
|
|
'url': 'http://rutube.ru/video/3eac3b4561676c17df9132a9a1e62e3e/',
|
|
|
@ -39,6 +39,9 @@ class RutubeIE(InfoExtractor):
|
|
|
|
}, {
|
|
|
|
}, {
|
|
|
|
'url': 'http://rutube.ru/play/embed/a10e53b86e8f349080f718582ce4c661',
|
|
|
|
'url': 'http://rutube.ru/play/embed/a10e53b86e8f349080f718582ce4c661',
|
|
|
|
'only_matching': True,
|
|
|
|
'only_matching': True,
|
|
|
|
|
|
|
|
}, {
|
|
|
|
|
|
|
|
'url': 'http://rutube.ru/embed/a10e53b86e8f349080f718582ce4c661',
|
|
|
|
|
|
|
|
'only_matching': True,
|
|
|
|
}]
|
|
|
|
}]
|
|
|
|
|
|
|
|
|
|
|
|
def _real_extract(self, url):
|
|
|
|
def _real_extract(self, url):
|
|
|
|