1
0
mirror of https://github.com/spaam/svtplay-dl.git synced 2024-11-24 12:15:40 +01:00

vimeo: convert into new video fetcher

This commit is contained in:
Johan Andersson 2014-04-21 17:09:03 +02:00
parent 4c11d831b6
commit 341be4b8e7

View File

@ -7,7 +7,7 @@ import re
from svtplay_dl.service import Service, OpenGraphThumbMixin from svtplay_dl.service import Service, OpenGraphThumbMixin
from svtplay_dl.utils import get_http_data from svtplay_dl.utils import get_http_data
from svtplay_dl.fetcher.http import download_http from svtplay_dl.fetcher.http import HTTP
from svtplay_dl.log import log from svtplay_dl.log import log
class Vimeo(Service, OpenGraphThumbMixin): class Vimeo(Service, OpenGraphThumbMixin):
@ -24,29 +24,8 @@ class Vimeo(Service, OpenGraphThumbMixin):
if player_data: if player_data:
jsondata = json.loads(player_data) jsondata = json.loads(player_data)
avail_quality = jsondata["request"]["files"]["h264"] avail_quality = jsondata["request"]["files"]["h264"]
if options.quality: for i in avail_quality.keys():
try: yield HTTP(options, avail_quality[i]["url"], avail_quality[i]["height"])
selected = avail_quality[options.quality]
except KeyError:
log.error("Can't find that quality. (Try one of: %s)",
", ".join([str(elm) for elm in avail_quality]))
sys.exit(4)
else:
try:
selected = self.select_highest_quality(avail_quality)
except KeyError:
log.error("Can't find any streams.")
sys.exit(4)
url = selected['url']
download_http(options, url)
else: else:
log.error("Can't find any streams.") log.error("Can't find any streams.")
sys.exit(2) sys.exit(2)
def select_highest_quality(self, available):
if 'hd' in available:
return available['hd']
elif 'sd' in available:
return available['sd']
else:
raise KeyError()