[uStudio] Add new extractor

pull/8/head
mutantmonkey 2016-02-15 17:07:13 -08:00 zatwierdzone przez Sergey M․
rodzic d0459c530d
commit 9195ef745a
2 zmienionych plików z 59 dodań i 0 usunięć

Wyświetl plik

@ -813,6 +813,7 @@ from .digiteka import DigitekaIE
from .unistra import UnistraIE
from .urort import UrortIE
from .ustream import UstreamIE, UstreamChannelIE
from .ustudio import UstudioIE
from .varzesh3 import Varzesh3IE
from .vbox7 import Vbox7IE
from .veehd import VeeHDIE

Wyświetl plik

@ -0,0 +1,58 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
from ..utils import int_or_none
class UstudioIE(InfoExtractor):
IE_NAME = 'uStudio'
_VALID_URL = r'http://(?:www\.|v1\.)?ustudio.com/video/(?P<id>[\w\d]+)/.+'
_TESTS = [
{
'url': 'http://ustudio.com/video/Uxu2my9bgSph/san_francisco_golden_gate_bridge',
'md5': '58bbfca62125378742df01fc2abbdef6',
'info_dict': {
'id': 'Uxu2my9bgSph',
'ext': 'mp4',
'title': 'San Francisco: Golden Gate Bridge',
'thumbnail': 're:^https?://.*\.jpg$',
'description': 'md5:23925500697f2c6d4830e387ba51a9be',
'uploader': 'Tony Farley',
}
},
]
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
doc = self._download_xml(
'http://v1.ustudio.com/embed/{0}/ustudio/config.xml'.format(
video_id),
video_id,
note='Downloading video info',
errnote='Failed to download video info')
formats = [
{
'url': quality.attrib['url'],
'width': int_or_none(quality.attrib.get('width')),
'height': int_or_none(quality.attrib.get('height')),
} for quality in doc.findall('./qualities/quality/video')
]
self._sort_formats(formats)
return {
'id': video_id,
'title': self._og_search_title(webpage),
'thumbnail': self._og_search_thumbnail(webpage),
'formats': formats,
'description': self._og_search_description(webpage),
'uploader': self._html_search_regex(
r'<a href=".*/user/.+">(.+)</a> on',
webpage,
'uploader',
fatal=False),
}