X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fmoniker.py;h=88dcd4f737544356091220d53078bc1c2e222d76;hb=769efa16afc1c9a2871543f69081f1bced361dc6;hp=79bb2ca5935cb7ad888081540696e256c31faa98;hpb=589d3d7c7ae18875060caa15f5547c0194932e55;p=youtube-dl diff --git a/youtube_dl/extractor/moniker.py b/youtube_dl/extractor/moniker.py index 79bb2ca59..88dcd4f73 100644 --- a/youtube_dl/extractor/moniker.py +++ b/youtube_dl/extractor/moniker.py @@ -5,10 +5,11 @@ import os.path import re from .common import InfoExtractor -from ..utils import ( +from ..compat import ( compat_urllib_parse, compat_urllib_request, ) +from ..utils import ExtractorError class MonikerIE(InfoExtractor): @@ -37,10 +38,18 @@ class MonikerIE(InfoExtractor): }] def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group('id') - + video_id = self._match_id(url) orig_webpage = self._download_webpage(url, video_id) + + if '>File Not Found<' in orig_webpage: + raise ExtractorError('Video %s does not exist' % video_id, expected=True) + + error = self._search_regex( + r'class="err">([^<]+)<', orig_webpage, 'error', default=None) + if error: + raise ExtractorError( + '%s returned error: %s' % (self.IE_NAME, error), expected=True) + fields = re.findall(r'type="hidden" name="(.+?)"\s* value="?(.+?)">', orig_webpage) data = dict(fields) @@ -54,7 +63,7 @@ class MonikerIE(InfoExtractor): title = os.path.splitext(data['fname'])[0] - #Could be several links with different quality + # Could be several links with different quality links = re.findall(r'"file" : "?(.+?)",', webpage) # Assume the links are ordered in quality formats = [{