|
@ -4,18 +4,19 @@ from __future__ import unicode_literals |
|
|
import re |
|
|
import re |
|
|
|
|
|
|
|
|
from .common import InfoExtractor |
|
|
from .common import InfoExtractor |
|
|
|
|
|
from ..utils import ExtractorError |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class NewstubeIE(InfoExtractor): |
|
|
class NewstubeIE(InfoExtractor): |
|
|
_VALID_URL = r'https?://(?:www\.)?newstube\.ru/media/(?P<id>.+)' |
|
|
_VALID_URL = r'https?://(?:www\.)?newstube\.ru/media/(?P<id>.+)' |
|
|
_TEST = { |
|
|
_TEST = { |
|
|
'url': 'http://newstube.ru/media/na-korable-progress-prodolzhaetsya-testirovanie-sistemy-kurs', |
|
|
|
|
|
|
|
|
'url': 'http://www.newstube.ru/media/telekanal-cnn-peremestil-gorod-slavyansk-v-krym', |
|
|
'info_dict': { |
|
|
'info_dict': { |
|
|
'id': 'd156a237-a6e9-4111-a682-039995f721f1', |
|
|
|
|
|
|
|
|
'id': '728e0ef2-e187-4012-bac0-5a081fdcb1f6', |
|
|
'ext': 'flv', |
|
|
'ext': 'flv', |
|
|
'title': 'На корабле «Прогресс» продолжается тестирование системы «Курс»', |
|
|
|
|
|
'description': 'md5:d0cbe7b4a6f600552617e48548d5dc77', |
|
|
|
|
|
'duration': 20.04, |
|
|
|
|
|
|
|
|
'title': 'Телеканал CNN переместил город Славянск в Крым', |
|
|
|
|
|
'description': 'md5:419a8c9f03442bc0b0a794d689360335', |
|
|
|
|
|
'duration': 31.05, |
|
|
}, |
|
|
}, |
|
|
'params': { |
|
|
'params': { |
|
|
# rtmp download |
|
|
# rtmp download |
|
@ -40,6 +41,10 @@ class NewstubeIE(InfoExtractor): |
|
|
def ns(s): |
|
|
def ns(s): |
|
|
return s.replace('/', '/%(ns)s') % {'ns': '{http://app1.newstube.ru/N2SiteWS/player.asmx}'} |
|
|
return s.replace('/', '/%(ns)s') % {'ns': '{http://app1.newstube.ru/N2SiteWS/player.asmx}'} |
|
|
|
|
|
|
|
|
|
|
|
error_message = player.find(ns('./ErrorMessage')) |
|
|
|
|
|
if error_message is not None: |
|
|
|
|
|
raise ExtractorError('%s returned error: %s' % (self.IE_NAME, error_message.text), expected=True) |
|
|
|
|
|
|
|
|
session_id = player.find(ns('./SessionId')).text |
|
|
session_id = player.find(ns('./SessionId')).text |
|
|
media_info = player.find(ns('./Medias/MediaInfo')) |
|
|
media_info = player.find(ns('./Medias/MediaInfo')) |
|
|
title = media_info.find(ns('./Name')).text |
|
|
title = media_info.find(ns('./Name')).text |
|
|