[novamov] Fix filekey extraction (closes #7764)

This commit is contained in:
Yen Chi Hsuan 2015-12-13 15:33:11 +08:00
parent 0014ffa829
commit 47c7f3d995

View File

@ -23,9 +23,10 @@ class NovaMovIE(InfoExtractor):
_HOST = 'www.novamov.com' _HOST = 'www.novamov.com'
_FILE_DELETED_REGEX = r'This file no longer exists on our servers!</h2>' _FILE_DELETED_REGEX = r'This file no longer exists on our servers!</h2>'
_FILEKEY_REGEX = r'flashvars\.filekey="(?P<filekey>[^"]+)";' _FILEKEY_REGEX = r'flashvars\.filekey=(?P<filekey>"?[^"]+"?);'
_TITLE_REGEX = r'(?s)<div class="v_tab blockborder rounded5" id="v_tab1">\s*<h3>([^<]+)</h3>' _TITLE_REGEX = r'(?s)<div class="v_tab blockborder rounded5" id="v_tab1">\s*<h3>([^<]+)</h3>'
_DESCRIPTION_REGEX = r'(?s)<div class="v_tab blockborder rounded5" id="v_tab1">\s*<h3>[^<]+</h3><p>([^<]+)</p>' _DESCRIPTION_REGEX = r'(?s)<div class="v_tab blockborder rounded5" id="v_tab1">\s*<h3>[^<]+</h3><p>([^<]+)</p>'
_URL_TEMPLATE = 'http://%s/video/%s'
_TEST = { _TEST = {
'url': 'http://www.novamov.com/video/4rurhn9x446jj', 'url': 'http://www.novamov.com/video/4rurhn9x446jj',
@ -42,7 +43,7 @@ class NovaMovIE(InfoExtractor):
def _real_extract(self, url): def _real_extract(self, url):
video_id = self._match_id(url) video_id = self._match_id(url)
url = 'http://%s/video/%s' % (self._HOST, video_id) url = self._URL_TEMPLATE % (self._HOST, video_id)
webpage = self._download_webpage( webpage = self._download_webpage(
url, video_id, 'Downloading video page') url, video_id, 'Downloading video page')
@ -51,8 +52,13 @@ class NovaMovIE(InfoExtractor):
raise ExtractorError('Video %s does not exist' % video_id, expected=True) raise ExtractorError('Video %s does not exist' % video_id, expected=True)
def extract_filekey(default=NO_DEFAULT): def extract_filekey(default=NO_DEFAULT):
return self._search_regex( filekey = self._search_regex(
self._FILEKEY_REGEX, webpage, 'filekey', default=default) self._FILEKEY_REGEX, webpage, 'filekey', default=default)
if filekey is not default and (filekey[0] != '"' or filekey[-1] != '"'):
return self._search_regex(
r'var\s*%s\s*=\s*"([^"]+)"', webpage, 'filekey', default=default)
else:
return filekey
filekey = extract_filekey(default=None) filekey = extract_filekey(default=None)
@ -127,7 +133,6 @@ class NowVideoIE(NovaMovIE):
_HOST = 'www.nowvideo.to' _HOST = 'www.nowvideo.to'
_FILE_DELETED_REGEX = r'>This file no longer exists on our servers.<' _FILE_DELETED_REGEX = r'>This file no longer exists on our servers.<'
_FILEKEY_REGEX = r'var fkzd="([^"]+)";'
_TITLE_REGEX = r'<h4>([^<]+)</h4>' _TITLE_REGEX = r'<h4>([^<]+)</h4>'
_DESCRIPTION_REGEX = r'</h4>\s*<p>([^<]+)</p>' _DESCRIPTION_REGEX = r'</h4>\s*<p>([^<]+)</p>'
@ -153,6 +158,7 @@ class VideoWeedIE(NovaMovIE):
_FILE_DELETED_REGEX = r'>This file no longer exists on our servers.<' _FILE_DELETED_REGEX = r'>This file no longer exists on our servers.<'
_TITLE_REGEX = r'<h1 class="text_shadow">([^<]+)</h1>' _TITLE_REGEX = r'<h1 class="text_shadow">([^<]+)</h1>'
_URL_TEMPLATE = 'http://%s/file/%s'
_TEST = { _TEST = {
'url': 'http://www.videoweed.es/file/b42178afbea14', 'url': 'http://www.videoweed.es/file/b42178afbea14',