From d5942525de7b54f7559402d52e89ec08fd987152 Mon Sep 17 00:00:00 2001 From: Christopher Rosell Date: Fri, 7 Sep 2012 12:39:17 +0200 Subject: Get rid of urllib and use requests instead. --- src/livestreamer/plugins/svtplay.py | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) (limited to 'src/livestreamer/plugins/svtplay.py') diff --git a/src/livestreamer/plugins/svtplay.py b/src/livestreamer/plugins/svtplay.py index 3ca85a9..a3bfa5a 100644 --- a/src/livestreamer/plugins/svtplay.py +++ b/src/livestreamer/plugins/svtplay.py @@ -3,11 +3,10 @@ from livestreamer.plugins import Plugin, PluginError, NoStreamsError from livestreamer.stream import RTMPStream from livestreamer.utils import urlget, swfverify, verifyjson -import json, re - +import re class SVTPlay(Plugin): - JSONURL = "http://svtplay.se/live/{0}?output=json" + JSONURL = "http://svtplay.se/live/{0}" SWFURL = "http://www.svtplay.se/public/swf/video/svtplayer-2012.15.swf" PageURL = "http://www.svtplay.se" @@ -18,9 +17,10 @@ class SVTPlay(Plugin): def _get_channel_id(self, url): self.logger.debug("Fetching channel id") - data = urlget(url) + res = urlget(url) + - match = re.search(b'data-json-href="/live/(\d+)"', data) + match = re.search('data-json-href="/live/(\d+)"', res.text) if match: return int(match.group(1)) @@ -31,15 +31,13 @@ class SVTPlay(Plugin): raise NoStreamsError(self.url) self.logger.debug("Fetching stream info") - data = urlget(self.JSONURL.format(channelid)) + res = urlget(self.JSONURL.format(channelid), params=dict(output="json")) - try: - info = json.loads(str(data, "utf8")) - except ValueError as err: - raise PluginError(("Unable to parse JSON: {0})").format(err)) + if res.json is None: + raise PluginError("No JSON data in stream info") streams = {} - video = verifyjson(info, "video") + video = verifyjson(res.json, "video") videos = verifyjson(video, "videoReferences") self.logger.debug("Verifying SWF: {0}", self.SWFURL) @@ -58,7 +56,6 @@ class SVTPlay(Plugin): }) streams[str(video["bitrate"]) + "k"] = stream - return streams __plugin__ = SVTPlay -- cgit v1.2.3