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

Fix support of Clips on svt.se

This commit is contained in:
dalgr 2018-03-19 21:53:27 +01:00
parent 77f0c47be9
commit 0bf050df22

View File

@ -9,16 +9,25 @@ class Svt(Svtplay):
supported_domains = ['svt.se', 'www.svt.se'] supported_domains = ['svt.se', 'www.svt.se']
def get(self): def get(self):
match = re.search("window.svt.nyh.reduxState=({.*});", self.get_urldata())
if not match: data = self.get_urldata()
match = re.search("window.svt.nyh.reduxState=({.*});", data)
match_data_video_id = re.search("data-video-id=\"(.+?)\"", data)
if match_data_video_id:
id = match_data_video_id.group(1)
elif match:
janson = json.loads(match.group(1))
context = janson["appState"]["location"]["context"]
areaData = janson["areaData"]["articles"][context]["media"]
id = areaData[0]["id"]
else:
yield ServiceError("Cant find video info.") yield ServiceError("Cant find video info.")
return return
janson = json.loads(match.group(1)) res = self.http.get("http://api.svt.se/videoplayer-api/video/{0}".format(id))
context = janson["appState"]["location"]["context"]
areaData = janson["areaData"]["articles"][context]["media"]
res = self.http.get("http://api.svt.se/videoplayer-api/video/{0}".format(areaData[0]["id"]))
janson = res.json() janson = res.json()
videos = self._get_video(janson) videos = self._get_video(janson)
for i in videos: for i in videos: