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:
parent
834f5abcad
commit
8ff50eee0d
@ -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(),
|
||||
|
53
lib/svtplay/service/radioplay.py
Normal file
53
lib/svtplay/service/radioplay.py
Normal 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)
|
Loading…
Reference in New Issue
Block a user