1
0
mirror of https://github.com/spaam/svtplay-dl.git synced 2024-11-30 23:24:16 +01:00
svtplay-dl/lib/svtplay_dl/service/mtvservices.py

34 lines
1.2 KiB
Python
Raw Normal View History

2014-03-19 22:44:58 +01:00
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
2014-06-07 20:43:40 +02:00
import copy
2019-08-25 00:40:39 +02:00
import re
2013-04-21 21:59:25 +02:00
import xml.etree.ElementTree as ET
from svtplay_dl.error import ServiceError
2019-08-25 00:40:39 +02:00
from svtplay_dl.fetcher.http import HTTP
from svtplay_dl.service import Service
2013-04-21 21:59:25 +02:00
2015-09-15 20:10:32 +02:00
2013-04-21 21:59:25 +02:00
class Mtvservices(Service):
2019-08-25 00:27:31 +02:00
supported_domains = ["colbertnation.com", "thedailyshow.com"]
2013-04-21 21:59:25 +02:00
def get(self):
2015-08-30 11:27:31 +02:00
data = self.get_urldata()
2014-12-22 11:02:28 +01:00
match = re.search(r"mgid=\"(mgid.*[0-9]+)\" data-wi", data)
2013-04-21 21:59:25 +02:00
if not match:
yield ServiceError("Can't find video file")
2014-10-06 23:21:43 +02:00
return
2021-12-18 19:52:08 +01:00
url = f"http://media.mtvnservices.com/player/html5/mediagen/?uri={match.group(1)}"
data = self.http.request("get", url)
2013-04-21 22:59:27 +02:00
start = data.index("<?xml version=")
data = data[start:]
xml = ET.XML(data)
ss = xml.find("video").find("item")
2018-01-13 20:27:40 +01:00
sa = list(ss.iter("rendition"))
2013-04-21 21:59:25 +02:00
for i in sa:
temp = i.find("src").text.index("gsp.comedystor")
2021-12-18 19:52:08 +01:00
url = f"http://mtvnmobile.vo.llnwd.net/kip0/_pxn=0+_pxK=18639+_pxE=mp4/44620/mtvnorigin/{i.find('src').text[temp:]}"
yield HTTP(copy.copy(self.config), url, i.attrib["height"], output=self.output)