projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0b1bb1a
)
[funimation] Improve extraction
author
Sergey M․
<dstftw@gmail.com>
Fri, 11 Dec 2015 19:02:54 +0000
(
01:02
+0600)
committer
Sergey M․
<dstftw@gmail.com>
Fri, 11 Dec 2015 19:02:54 +0000
(
01:02
+0600)
youtube_dl/extractor/funimation.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/funimation.py
b/youtube_dl/extractor/funimation.py
index 35125b6313d56b9972b0ff39aa62814b6c4b40a1..8a65343c59c6a84caec67865ea255cf3d11e8e3f 100644
(file)
--- a/
youtube_dl/extractor/funimation.py
+++ b/
youtube_dl/extractor/funimation.py
@@
-8,6
+8,7
@@
from ..utils import (
clean_html,
determine_ext,
encode_dict,
clean_html,
determine_ext,
encode_dict,
+ int_or_none,
sanitized_Request,
ExtractorError,
urlencode_postdata
sanitized_Request,
ExtractorError,
urlencode_postdata
@@
-136,7
+137,7
@@
class FunimationIE(InfoExtractor):
preference = 1 if video.get('languageMode') == 'dub' else 0
if not auth_token.startswith('?'):
auth_token = '?%s' % auth_token
preference = 1 if video.get('languageMode') == 'dub' else 0
if not auth_token.startswith('?'):
auth_token = '?%s' % auth_token
- for quality
in ('sd', 'hd', 'hd1080'
):
+ for quality
, height in (('sd', 480), ('hd', 720), ('hd1080', 1080)
):
format_url = video.get('%sUrl' % quality)
if not format_url:
continue
format_url = video.get('%sUrl' % quality)
if not format_url:
continue
@@
-146,22
+147,19
@@
class FunimationIE(InfoExtractor):
if determine_ext(format_url) == 'm3u8':
m3u8_formats = self._extract_m3u8_formats(
format_url + auth_token, display_id, 'mp4', entry_protocol='m3u8_native',
if determine_ext(format_url) == 'm3u8':
m3u8_formats = self._extract_m3u8_formats(
format_url + auth_token, display_id, 'mp4', entry_protocol='m3u8_native',
- preference=preference, m3u8_id=
funimation_id or 'hls'
, fatal=False)
+ preference=preference, m3u8_id=
'%s-hls' % funimation_id
, fatal=False)
if m3u8_formats:
formats.extend(m3u8_formats)
else:
if m3u8_formats:
formats.extend(m3u8_formats)
else:
- f = {
+ tbr = int_or_none(self._search_regex(
+ r'-(\d+)[Kk]', format_url, 'tbr', default=None))
+ formats.append({
'url': format_url + auth_token,
'url': format_url + auth_token,
- 'format_id': funimation_id,
+ 'format_id': '%s-http-%dp' % (funimation_id, height),
+ 'height': height,
+ 'tbr': tbr,
'preference': preference,
'preference': preference,
- }
- mobj = re.search(r'(?P<height>\d+)-(?P<tbr>\d+)[Kk]', format_url)
- if mobj:
- f.update({
- 'height': int(mobj.group('height')),
- 'tbr': int(mobj.group('tbr')),
- })
- formats.append(f)
+ })
if not formats and errors:
raise ExtractorError(
if not formats and errors:
raise ExtractorError(