Fix Vimeo integration
This commit is contained in:
parent
bf31b911b6
commit
d597500004
|
@ -195,7 +195,7 @@ defaults = {
|
|||
},
|
||||
|
||||
'vimeo': {
|
||||
'fileformat': 'hd', # preferred file format (hd, sd, mobile)
|
||||
'fileformat': '720p', # preferred file format (see vimeo.py)
|
||||
},
|
||||
|
||||
'extensions': {
|
||||
|
|
|
@ -48,14 +48,9 @@ SIGNATURE_RE = re.compile(r'"timestamp":(\d+),"signature":"([^"]+)"')
|
|||
DATA_CONFIG_RE = re.compile(r'data-config-url="([^"]+)"')
|
||||
|
||||
# List of qualities, from lowest to highest
|
||||
FILEFORMAT_RANKING = ['mobile', 'sd', 'hd']
|
||||
|
||||
FORMATS = (
|
||||
('mobile', _('Mobile')),
|
||||
('sd', _('SD')),
|
||||
('hd', _('HD')),
|
||||
)
|
||||
FILEFORMAT_RANKING = ['270p', '360p', '720p', '1080p']
|
||||
|
||||
FORMATS = tuple((x, x) for x in FILEFORMAT_RANKING)
|
||||
|
||||
class VimeoError(BaseException): pass
|
||||
|
||||
|
@ -78,14 +73,11 @@ def get_real_download_url(url, preferred_fileformat=None):
|
|||
data_config_data = util.urlopen(data_config_url).read().decode('utf-8')
|
||||
data_config = json.loads(data_config_data)
|
||||
for fileinfo in data_config['request']['files'].values():
|
||||
if not isinstance(fileinfo, dict):
|
||||
if not isinstance(fileinfo, list):
|
||||
continue
|
||||
|
||||
for fileformat, keys in fileinfo.items():
|
||||
if not isinstance(keys, dict):
|
||||
continue
|
||||
|
||||
yield (fileformat, keys['url'])
|
||||
for item in fileinfo:
|
||||
yield (item['quality'], item['url'])
|
||||
|
||||
fileformat_to_url = dict(get_urls(data_config_url))
|
||||
|
||||
|
@ -103,6 +95,8 @@ def get_real_download_url(url, preferred_fileformat=None):
|
|||
logger.debug('Picking best format: %s', fileformat)
|
||||
return fileformat_to_url[fileformat]
|
||||
|
||||
return url
|
||||
|
||||
def get_vimeo_id(url):
|
||||
result = MOOGALOOP_RE.match(url)
|
||||
if result is not None:
|
||||
|
|
Loading…
Reference in New Issue