mirror of
https://github.com/spaam/svtplay-dl.git
synced 2024-11-27 21:54:17 +01:00
Merge pull request #70 from olof/topic/viaplay_latest_ep_url
viaplay: try harder when extracting video IDs
This commit is contained in:
commit
368fa3c7ed
@ -25,13 +25,34 @@ class Viaplay(Service, OpenGraphThumbMixin):
|
|||||||
Service.__init__(self, url)
|
Service.__init__(self, url)
|
||||||
self.subtitle = None
|
self.subtitle = None
|
||||||
|
|
||||||
def get(self, options):
|
|
||||||
|
def _get_video_id(self):
|
||||||
|
"""
|
||||||
|
Extract video id. It will try to avoid making an HTTP request
|
||||||
|
if it can find the ID in the URL, but otherwise it will try
|
||||||
|
to scrape it from the HTML document. Returns None in case it's
|
||||||
|
unable to extract the ID at all.
|
||||||
|
"""
|
||||||
parse = urlparse(self.url)
|
parse = urlparse(self.url)
|
||||||
match = re.search(r'\/(\d+)/?', parse.path)
|
match = re.search(r'\/(\d+)/?', parse.path)
|
||||||
if not match:
|
if match:
|
||||||
|
return match.group(1)
|
||||||
|
|
||||||
|
html_data = self.get_urldata()
|
||||||
|
match = re.search(r'data-link="[^"]+/([0-9]+)"', html_data)
|
||||||
|
if match:
|
||||||
|
return match.group(1)
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
def get(self, options):
|
||||||
|
vid = self._get_video_id()
|
||||||
|
if vid is None:
|
||||||
log.error("Cant find video file")
|
log.error("Cant find video file")
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
url = "http://viastream.viasat.tv/PlayProduct/%s" % match.group(1)
|
|
||||||
|
url = "http://viastream.viasat.tv/PlayProduct/%s" % vid
|
||||||
options.other = ""
|
options.other = ""
|
||||||
data = get_http_data(url)
|
data = get_http_data(url)
|
||||||
xml = ET.XML(data)
|
xml = ET.XML(data)
|
||||||
|
Loading…
Reference in New Issue
Block a user