projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
ad120ae
)
[ivi] Add support for 720p and 1080p
author
Sergey M․
<dstftw@gmail.com>
Sun, 21 Aug 2016 20:31:33 +0000
(
03:31
+0700)
committer
Sergey M․
<dstftw@gmail.com>
Sun, 21 Aug 2016 20:31:33 +0000
(
03:31
+0700)
youtube_dl/extractor/ivi.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/ivi.py
b/youtube_dl/extractor/ivi.py
index 472d72b4c34fa3305b6b2808be1e45c6da25a60e..f5ab5f4af7d63f9dad52b8bd34fa130835d7ab17 100644
(file)
--- a/
youtube_dl/extractor/ivi.py
+++ b/
youtube_dl/extractor/ivi.py
@@
-1,4
+1,4
@@
-#
en
coding: utf-8
+# coding: utf-8
from __future__ import unicode_literals
import re
from __future__ import unicode_literals
import re
@@
-8,7
+8,7
@@
from .common import InfoExtractor
from ..utils import (
ExtractorError,
int_or_none,
from ..utils import (
ExtractorError,
int_or_none,
-
sanitized_Request
,
+
qualities
,
)
)
@@
-49,11
+49,27
@@
class IviIE(InfoExtractor):
'thumbnail': 're:^https?://.*\.jpg$',
},
'skip': 'Only works from Russia',
'thumbnail': 're:^https?://.*\.jpg$',
},
'skip': 'Only works from Russia',
+ },
+ {
+ # with MP4-HD720 format
+ 'url': 'http://www.ivi.ru/watch/146500',
+ 'md5': 'd63d35cdbfa1ea61a5eafec7cc523e1e',
+ 'info_dict': {
+ 'id': '146500',
+ 'ext': 'mp4',
+ 'title': 'Кукла',
+ 'description': 'md5:ffca9372399976a2d260a407cc74cce6',
+ 'duration': 5599,
+ 'thumbnail': 're:^https?://.*\.jpg$',
+ },
+ 'skip': 'Only works from Russia',
}
]
# Sorted by quality
}
]
# Sorted by quality
- _KNOWN_FORMATS = ['MP4-low-mobile', 'MP4-mobile', 'FLV-lo', 'MP4-lo', 'FLV-hi', 'MP4-hi', 'MP4-SHQ']
+ _KNOWN_FORMATS = (
+ 'MP4-low-mobile', 'MP4-mobile', 'FLV-lo', 'MP4-lo', 'FLV-hi', 'MP4-hi',
+ 'MP4-SHQ', 'MP4-HD720', 'MP4-HD1080')
def _real_extract(self, url):
video_id = self._match_id(url)
def _real_extract(self, url):
video_id = self._match_id(url)
@@
-69,10
+85,9
@@
class IviIE(InfoExtractor):
]
}
]
}
- request = sanitized_Request(
- 'http://api.digitalaccess.ru/api/json/', json.dumps(data))
video_json = self._download_json(
video_json = self._download_json(
- request, video_id, 'Downloading video JSON')
+ 'http://api.digitalaccess.ru/api/json/', video_id,
+ 'Downloading video JSON', data=json.dumps(data))
if 'error' in video_json:
error = video_json['error']
if 'error' in video_json:
error = video_json['error']
@@
-84,11
+99,13
@@
class IviIE(InfoExtractor):
result = video_json['result']
result = video_json['result']
+ quality = qualities(self._KNOWN_FORMATS)
+
formats = [{
'url': x['url'],
formats = [{
'url': x['url'],
- 'format_id': x
['content_format']
,
- '
preference': self._KNOWN_FORMATS.index(x['content_format']
),
- } for x in result['files'] if x
['content_format'] in self._KNOWN_FORMATS
]
+ 'format_id': x
.get('content_format')
,
+ '
quality': quality(x.get('content_format')
),
+ } for x in result['files'] if x
.get('url')
]
self._sort_formats(formats)
self._sort_formats(formats)