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

Support for radioplay.se

This commit is contained in:
Johan Andersson 2013-03-10 12:40:07 +01:00 committed by Olof Johansson
parent 834f5abcad
commit 8ff50eee0d
2 changed files with 55 additions and 0 deletions

View File

@ -15,6 +15,7 @@ from svtplay.service.kanal9 import Kanal9
from svtplay.service.nrk import Nrk
from svtplay.service.qbrick import Qbrick
from svtplay.service.ruv import Ruv
from svtplay.service.radioplay import Radioplay
from svtplay.service.sr import Sr
from svtplay.service.svtplay import Svtplay
from svtplay.service.tv4play import Tv4play
@ -34,6 +35,7 @@ def service_handler(url):
Nrk(),
Qbrick(),
Ruv(),
Radioplay(),
Sr(),
Svtplay(),
Tv4play(),

View File

@ -0,0 +1,53 @@
from __future__ import absolute_import
import sys
import re
import json
from urlparse import urlparse
from svtplay.utils import get_http_data
from svtplay.rtmp import download_rtmp
from svtplay.hls import download_hls
from svtplay.http import download_http
from svtplay.log import log
class Radioplay(object):
def handle(self, url):
return "radioplay.se" in url
def get(self, options, url):
data = get_http_data(url)
match = re.search("liveStationsRedundancy = ({.*});</script>", data)
parse = urlparse(url)
station = parse.path[1:]
streams = None
if match:
data = json.loads(match.group(1))
for i in data["stations"]:
if station == i["name"].lower().replace(" ", ""):
streams = i["streams"]
break
else:
log.error("Can't find any streams.")
sys.exit(2)
if streams:
if options.hls:
try:
m3u8_url = streams["hls"]
base_url = m3u8_url.rsplit("/", 1)[0]
download_hls(options, m3u8_url, base_url)
except KeyError:
log.error("Can't find any streams.")
sys.error(2)
else:
try:
rtmp = streams["rtmp"]
download_rtmp(options, rtmp)
except KeyError:
mp3 = streams["mp3"]
download_http(options, mp3)
else:
log.error("Can't find any streams.")
sys.exit(2)