1
0
mirror of https://github.com/spaam/svtplay-dl.git synced 2024-11-24 04:05:39 +01:00

Support for vimeo files

This commit is contained in:
Johan Andersson 2013-03-10 14:18:39 +01:00 committed by Olof Johansson
parent 3456d43062
commit 5cc26be3eb
2 changed files with 43 additions and 1 deletions

View File

@ -39,6 +39,7 @@ from svtplay.service.svtplay import Svtplay
from svtplay.service.tv4play import Tv4play from svtplay.service.tv4play import Tv4play
from svtplay.service.urplay import Urplay from svtplay.service.urplay import Urplay
from svtplay.service.viaplay import Viaplay from svtplay.service.viaplay import Viaplay
from svtplay.service.vimeo import Vimeo
def service_handler(url): def service_handler(url):
@ -57,7 +58,8 @@ def service_handler(url):
Svtplay(), Svtplay(),
Tv4play(), Tv4play(),
Urplay(), Urplay(),
Viaplay()] Viaplay(),
Vimeo()]
handler = None handler = None

View File

@ -0,0 +1,40 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
from __future__ import absolute_import
import sys
import json
from svtplay.utils import get_http_data
from svtplay.http import download_http
from svtplay.log import log
class Vimeo(object):
def handle(self, url):
return "vimeo.com" in url
def get(self, options, url):
data = get_http_data(url, referer="")
match = data.split(' = {config:')[1].split(',assets:')[0]
if match:
jsondata = json.loads(match)
sig = jsondata['request']['signature']
vidid = jsondata["video"]["id"]
timestamp = jsondata['request']['timestamp']
referer = jsondata["request"]["referrer"]
avail_quality = jsondata["video"]["files"]["h264"]
selected_quality = None
for i in avail_quality:
if options.quality == i:
selected_quality = i
if options.quality and selected_quality is None:
log.error("Can't find that quality. (Try one of: %s)",
", ".join(map(str, avail_quality)))
sys.exit(4)
elif options.quality is None and selected_quality is None:
selected_quality = avail_quality[0]
url = "http://player.vimeo.com/play_redirect?clip_id=%s&sig=%s&time=%s&quality=%s&codecs=H264,VP8,VP6&type=moogaloop_local&embed_location=%s" % (vidid, sig, timestamp, selected_quality, referer)
download_http(options, url)
else:
log.error("Can't find any streams.")
sys.exit(2)