mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2024-11-24 19:22:06 +00:00
[utils] Fix xattr error handling
This commit is contained in:
parent
b19e275d99
commit
bd26441205
2 changed files with 13 additions and 4 deletions
|
@ -2332,12 +2332,23 @@ class GenericIE(InfoExtractor):
|
||||||
info_dict.update(json_ld)
|
info_dict.update(json_ld)
|
||||||
return info_dict
|
return info_dict
|
||||||
|
|
||||||
|
# Look for HTML5 media
|
||||||
|
entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls')
|
||||||
|
if entries:
|
||||||
|
for entry in entries:
|
||||||
|
entry.update({
|
||||||
|
'id': video_id,
|
||||||
|
'title': video_title,
|
||||||
|
})
|
||||||
|
self._sort_formats(entry['formats'])
|
||||||
|
return self.playlist_result(entries)
|
||||||
|
|
||||||
def check_video(vurl):
|
def check_video(vurl):
|
||||||
if YoutubeIE.suitable(vurl):
|
if YoutubeIE.suitable(vurl):
|
||||||
return True
|
return True
|
||||||
vpath = compat_urlparse.urlparse(vurl).path
|
vpath = compat_urlparse.urlparse(vurl).path
|
||||||
vext = determine_ext(vpath)
|
vext = determine_ext(vpath)
|
||||||
return '.' in vpath and vext not in ('swf', 'png', 'jpg', 'srt', 'sbv', 'sub', 'vtt', 'ttml')
|
return '.' in vpath and vext not in ('swf', 'png', 'jpg', 'srt', 'sbv', 'sub', 'vtt', 'ttml', 'js')
|
||||||
|
|
||||||
def filter_video(urls):
|
def filter_video(urls):
|
||||||
return list(filter(check_video, urls))
|
return list(filter(check_video, urls))
|
||||||
|
@ -2387,9 +2398,6 @@ class GenericIE(InfoExtractor):
|
||||||
# We only look in og:video if the MIME type is a video, don't try if it's a Flash player:
|
# We only look in og:video if the MIME type is a video, don't try if it's a Flash player:
|
||||||
if m_video_type is not None:
|
if m_video_type is not None:
|
||||||
found = filter_video(re.findall(r'<meta.*?property="og:video".*?content="(.*?)"', webpage))
|
found = filter_video(re.findall(r'<meta.*?property="og:video".*?content="(.*?)"', webpage))
|
||||||
if not found:
|
|
||||||
# HTML5 video
|
|
||||||
found = re.findall(r'(?s)<(?:video|audio)[^<]*(?:>.*?<source[^>]*)?\s+src=["\'](.*?)["\']', webpage)
|
|
||||||
if not found:
|
if not found:
|
||||||
REDIRECT_REGEX = r'[0-9]{,2};\s*(?:URL|url)=\'?([^\'"]+)'
|
REDIRECT_REGEX = r'[0-9]{,2};\s*(?:URL|url)=\'?([^\'"]+)'
|
||||||
found = re.search(
|
found = re.search(
|
||||||
|
|
|
@ -782,6 +782,7 @@ class XAttrMetadataError(Exception):
|
||||||
def __init__(self, code=None, msg='Unknown error'):
|
def __init__(self, code=None, msg='Unknown error'):
|
||||||
super(XAttrMetadataError, self).__init__(msg)
|
super(XAttrMetadataError, self).__init__(msg)
|
||||||
self.code = code
|
self.code = code
|
||||||
|
self.msg = msg
|
||||||
|
|
||||||
# Parsing code and msg
|
# Parsing code and msg
|
||||||
if (self.code in (errno.ENOSPC, errno.EDQUOT) or
|
if (self.code in (errno.ENOSPC, errno.EDQUOT) or
|
||||||
|
|
Loading…
Reference in a new issue