X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fgoshgay.py;h=377981d3e41ca76c29daeecbb5045928dff87a43;hb=a6211d237b4e7051ca018cc09440502561fedaa7;hp=18474cbb72684ac6327957fb3385fb9de3bc4480;hpb=9908e0352872b252494747346589922358aa0375;p=youtube-dl diff --git a/youtube_dl/extractor/goshgay.py b/youtube_dl/extractor/goshgay.py index 18474cbb7..377981d3e 100644 --- a/youtube_dl/extractor/goshgay.py +++ b/youtube_dl/extractor/goshgay.py @@ -1,58 +1,51 @@ -# -*- coding: utf-8 -*- +# coding: utf-8 from __future__ import unicode_literals from .common import InfoExtractor +from ..compat import ( + compat_parse_qs, +) from ..utils import ( - compat_urlparse, - ExtractorError, + parse_duration, ) class GoshgayIE(InfoExtractor): - _VALID_URL = r'^(?:https?://)www.goshgay.com/video(?P\d+?)($|/)' + _VALID_URL = r'https?://(?:www\.)?goshgay\.com/video(?P\d+?)($|/)' _TEST = { - 'url': 'http://www.goshgay.com/video4116282', - 'md5': '268b9f3c3229105c57859e166dd72b03', + 'url': 'http://www.goshgay.com/video299069/diesel_sfw_xxx_video', + 'md5': '4b6db9a0a333142eb9f15913142b0ed1', 'info_dict': { - 'id': '4116282', + 'id': '299069', 'ext': 'flv', - 'title': 'md5:089833a4790b5e103285a07337f245bf', - 'thumbnail': 're:http://.*\.jpg', + 'title': 'DIESEL SFW XXX Video', + 'thumbnail': r're:^http://.*\.jpg$', + 'duration': 80, 'age_limit': 18, } } def _real_extract(self, url): video_id = self._match_id(url) - webpage = self._download_webpage(url, video_id) - title = self._og_search_title(webpage) - thumbnail = self._og_search_thumbnail(webpage) - family_friendly = self._html_search_meta( - 'isFamilyFriendly', webpage, default='false') - config_url = self._search_regex( - r"'config'\s*:\s*'([^']+)'", webpage, 'config URL') - config = self._download_xml( - config_url, video_id, 'Downloading player config XML') + title = self._html_search_regex( + r'

(.*?)<', webpage, 'title') + duration = parse_duration(self._html_search_regex( + r'\s*-?\s*(.*?)', + webpage, 'duration', fatal=False)) - if config is None: - raise ExtractorError('Missing config XML') - if config.tag != 'config': - raise ExtractorError('Missing config attribute') - fns = config.findall('file') - if len(fns) < 1: - raise ExtractorError('Missing media URI') - video_url = fns[0].text - - url_comp = compat_urlparse.urlparse(url) - ref = "%s://%s%s" % (url_comp[0], url_comp[1], url_comp[2]) + flashvars = compat_parse_qs(self._html_search_regex( + r'