From 648fc82b39f8ed59b4c7620e59ef10bb3d634368 Mon Sep 17 00:00:00 2001 From: Bezleputh Date: Tue, 29 Jul 2014 17:37:54 +0200 Subject: [PATCH] [arte] use M3U8 format instead of HBBTV --- modules/arte/browser.py | 14 ++++++++++---- modules/arte/video.py | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/modules/arte/browser.py b/modules/arte/browser.py index 1e0985bb..fc91af2a 100644 --- a/modules/arte/browser.py +++ b/modules/arte/browser.py @@ -61,18 +61,24 @@ class ArteBrowser(BaseBrowser): if video is None: video = self.create_video(result['video']) try: - video.url = u'%s' % result['video']['VSR'][0]['VUR'] - video.ext = u'%s' % result['video']['VSR'][0]['VMT'] + video.url = self.get_first_link_m3u8(result['video']['VSR'][0]['VUR']) + video.ext = u'm3u8' except: video.url, video.ext = self.get_default_url(url) return video + def get_first_link_m3u8(self, url): + r = self.openurl(url) + baseurl = url.rpartition('/')[0] + for line in r.readlines(): + if not line.startswith('#'): + return u'%s/%s' % (baseurl, line.replace('\n', '')) + def get_default_url(self, url): result = self.get_video_by_quality(url, 'ALL') try: - return u'%s' % result['video']['VSR'][0]['VUR'], \ - u'%s' % result['video']['VSR'][0]['VMT'] + return self.get_first_link_m3u8(result['video']['VSR'][0]['VUR']), u'm3u8' except: return NotAvailable, NotAvailable diff --git a/modules/arte/video.py b/modules/arte/video.py index 42cec3e0..9fa5038d 100644 --- a/modules/arte/video.py +++ b/modules/arte/video.py @@ -28,7 +28,7 @@ class ArteVideo(BaseVideo): @classmethod def id2url(cls, _id): lang = _id[-1:] - return 'http://arte.tv/papi/tvguide/videos/stream/%s/%s/HBBTV' % (lang, _id) + return 'http://arte.tv/papi/tvguide/videos/stream/%s/%s/M3U8' % (lang, _id) class ArteLiveVideo(BaseVideo):