0
0
Fork 0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2024-11-24 02:35:12 +00:00

Merge remote-tracking branch 'upstream/master'

This commit is contained in:
rupertbaxter2 2014-08-06 16:43:21 -07:00
commit 0c72eb9060
4 changed files with 61 additions and 2 deletions

View file

@ -67,6 +67,7 @@
'Charles Chen', 'Charles Chen',
'Hassaan Ali', 'Hassaan Ali',
'Dobrosław Żybort', 'Dobrosław Żybort',
'David Fabijan',
) )
__license__ = 'Public Domain' __license__ = 'Public Domain'

View file

@ -181,6 +181,7 @@
from .mlb import MLBIE from .mlb import MLBIE
from .mpora import MporaIE from .mpora import MporaIE
from .mofosex import MofosexIE from .mofosex import MofosexIE
from .mojvideo import MojvideoIE
from .mooshare import MooshareIE from .mooshare import MooshareIE
from .morningstar import MorningstarIE from .morningstar import MorningstarIE
from .motherless import MotherlessIE from .motherless import MotherlessIE

View file

@ -42,7 +42,6 @@ def _real_extract(self, url):
fields = dict(re.findall(r'''(?x)<input\s+ fields = dict(re.findall(r'''(?x)<input\s+
type="hidden"\s+ type="hidden"\s+
name="([^"]+)"\s+ name="([^"]+)"\s+
(?:id="[^"]+"\s+)?
value="([^"]*)" value="([^"]*)"
''', webpage)) ''', webpage))
@ -66,7 +65,7 @@ def _real_extract(self, url):
ext = self._search_regex(r'type:\s?\'([^\']+)\',', ext = self._search_regex(r'type:\s?\'([^\']+)\',',
webpage, 'extension', fatal=False) webpage, 'extension', fatal=False)
video_url = self._search_regex( video_url = self._search_regex(
r'file:\s?\'(http[^\']+)\',', webpage, 'file url') r'file:\s?loadURL\(\'(http[^\']+)\'\),', webpage, 'file url')
formats = [{ formats = [{
'format_id': 'sd', 'format_id': 'sd',

View file

@ -0,0 +1,58 @@
# coding: utf-8
from __future__ import unicode_literals
import re
from .common import InfoExtractor
from ..utils import (
ExtractorError,
parse_duration,
)
class MojvideoIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?mojvideo\.com/video-(?P<display_id>[^/]+)/(?P<id>[a-f0-9]+)'
_TEST = {
'url': 'http://www.mojvideo.com/video-v-avtu-pred-mano-rdecelaska-alfi-nipic/3d1ed4497707730b2906',
'md5': 'f7fd662cc8ce2be107b0d4f2c0483ae7',
'info_dict': {
'id': '3d1ed4497707730b2906',
'display_id': 'v-avtu-pred-mano-rdecelaska-alfi-nipic',
'ext': 'mp4',
'title': 'V avtu pred mano rdečelaska - Alfi Nipič',
'thumbnail': 're:^http://.*\.jpg$',
'duration': 242,
}
}
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
video_id = mobj.group('id')
display_id = mobj.group('display_id')
# XML is malformed
playerapi = self._download_webpage(
'http://www.mojvideo.com/playerapi.php?v=%s&t=1' % video_id, display_id)
if '<error>true</error>' in playerapi:
error_desc = self._html_search_regex(
r'<errordesc>([^<]*)</errordesc>', playerapi, 'error description', fatal=False)
raise ExtractorError('%s said: %s' % (self.IE_NAME, error_desc), expected=True)
title = self._html_search_regex(
r'<title>([^<]+)</title>', playerapi, 'title')
video_url = self._html_search_regex(
r'<file>([^<]+)</file>', playerapi, 'video URL')
thumbnail = self._html_search_regex(
r'<preview>([^<]+)</preview>', playerapi, 'thumbnail', fatal=False)
duration = parse_duration(self._html_search_regex(
r'<duration>([^<]+)</duration>', playerapi, 'duration', fatal=False))
return {
'id': video_id,
'display_id': display_id,
'url': video_url,
'title': title,
'thumbnail': thumbnail,
'duration': duration,
}