diff --git a/channels/discoveryplus.py b/channels/discoveryplus.py index 18b8d73e..46fa28e3 100644 --- a/channels/discoveryplus.py +++ b/channels/discoveryplus.py @@ -142,9 +142,9 @@ def episodios(item): return itemlist def play(item): - if item.filter: - item.id = liveDict()[item.filter]['id'] - item.fulltitle = item.filter + if item.livefilter: + item.id = liveDict()[item.livefilter]['id'] + item.fulltitle = item.livefilter item.forcethumb = True item.no_return = True support.thumb(item, live=True) diff --git a/channels/la7.py b/channels/la7.py index c129ce9f..9e7ef0cd 100644 --- a/channels/la7.py +++ b/channels/la7.py @@ -118,9 +118,9 @@ def episodios(item): def play(item): support.info() - if item.filter: + if item.livefilter: for it in live(item): - if it.fulltitle == item.filter: + if it.fulltitle == item.livefilter: item = it break data = support.match(item).data diff --git a/channels/mediasetplay.py b/channels/mediasetplay.py index 64c40cd3..1db76968 100644 --- a/channels/mediasetplay.py +++ b/channels/mediasetplay.py @@ -284,10 +284,10 @@ def findvideos(item): def play(item): support.info() - if item.filter: - d = liveDict()[item.filter] + if item.livefilter: + d = liveDict()[item.livefilter] # support.dbg() - item = item.clone(title=support.typo(item.filter, 'bold'), fulltitle=item.filter, urls=d['urls'], plot=d['plot'], action='play', forcethumb=True, no_return=True) + item = item.clone(title=support.typo(item.livefilter, 'bold'), fulltitle=item.livefilter, urls=d['urls'], plot=d['plot'], action='play', forcethumb=True, no_return=True) support.thumb(item, live=True) if not item.urls: urls = item.url else: urls = item.urls diff --git a/channels/paramount.py b/channels/paramount.py index 0a9ae817..f185b9de 100644 --- a/channels/paramount.py +++ b/channels/paramount.py @@ -162,8 +162,9 @@ def findvideos(item): def play(item): logger.debug() - if item.filter: - d = liveDict()[item.filter] - item = item.clone(title=support.typo(item.filter, 'bold'), fulltitle=item.filter, url=d['url'], plot=d['plot'], action='play', forcethumb=True, no_return=True) + item.server = 'paramount_server' + if item.livefilter: + d = liveDict()[item.livefilter] + item = item.clone(title=support.typo(item.livefilter, 'bold'), fulltitle=item.livefilter, url=d['url'], plot=d['plot'], action='play', forcethumb=True, no_return=True) support.thumb(item, live=True) - return support.servertools.find_video_items(item, data=item.url) \ No newline at end of file + return [item] \ No newline at end of file diff --git a/channels/raiplay.py b/channels/raiplay.py index 3cf5be7e..5c581348 100644 --- a/channels/raiplay.py +++ b/channels/raiplay.py @@ -342,7 +342,7 @@ def findvideos(item): else: url = item.url - itemlist.append(item.clone(server = 'directo', title = 'Rai Play', url = getUrl(url), action = 'play')) + itemlist.append(item.clone(server = 'directo', title = 'Rai Play', url = getUrl(url) + '&output=56', action = 'play')) return support.server(item, itemlist=itemlist, Download=False) @@ -419,9 +419,15 @@ def load_episodes(key, item): def play(item): - if item.filter: + if item.livefilter: d = liveDict() - item = item.clone(server='directo', fulltitle=item.filter, url=d[item.filter]['url'], plot=d[item.filter]['plot'], forcethumb=True, no_return=True) + item = item.clone(server='directo', fulltitle=item.livefilter, url=d[item.livefilter]['url'], plot=d[item.livefilter]['plot'], forcethumb=True, no_return=True) support.thumb(item, live=True) + if '&output=56' in item.url: + match = support.match(item, patron=r'content"> set: +def find_ngrams(string, split_num=3): """ Slice string into ngrams. Returns array of ngrams for the given string. @@ -21,7 +21,7 @@ def find_ngrams(string: str, split_num: int=3) -> set: if not string: return set() - words = [f' {x} ' for x in re.split(r'\W+', str(string).lower()) if x.strip()] + words = [' {} '.format(x) for x in re.split(r'\W+', str(string).lower()) if x.strip()] ngrams = set() @@ -35,7 +35,7 @@ def find_ngrams(string: str, split_num: int=3) -> set: return None -def trigram(text1: str, text2: str, split_num: int=3): +def trigram(text1, text2, split_num=3): """ Find the similarity between two strings using ngrams. Returns float score value, 0.0 being completely different strings and 1.0 being equal strings. diff --git a/platformcode/launcher.py b/platformcode/launcher.py index 072482c9..a84cfe45 100644 --- a/platformcode/launcher.py +++ b/platformcode/launcher.py @@ -44,7 +44,7 @@ def run(item=None): if sys.argv[2] and 'play' in sys.argv[2]: sp = sys.argv[2].split('/') if len(sp) == 3: - item = Item(channel=sp[1], filter=sp[2], action='play') + item = Item(channel=sp[1], livefilter=sp[2], action='play') # If no item, this is mainlist elif sys.argv[2]: sp = sys.argv[2].split('&') diff --git a/platformcode/platformtools.py b/platformcode/platformtools.py index 2d4c84e0..043c54e0 100644 --- a/platformcode/platformtools.py +++ b/platformcode/platformtools.py @@ -1057,7 +1057,7 @@ def set_player(item, xlistitem, mediaurl, view, strm): play_torrent(item, xlistitem, mediaurl) return # If it is a strm file, play is not necessary - elif strm: + elif strm or item.livefilter: xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, xlistitem) if item.subtitle: xbmc.sleep(2000) diff --git a/servers/paramount_server.py b/servers/paramount_server.py index 54b7c1e3..76ee11af 100644 --- a/servers/paramount_server.py +++ b/servers/paramount_server.py @@ -26,8 +26,9 @@ def get_video_url(page_url, premium=False, user="", password="", video_password= url = jsontools.load(support.match(rootUrl.replace('&device={device}','').format(uri = ID)).data)['package']['video']['item'][0]['rendition'][0]['src'] urls = support.match(url, patron=r'RESOLUTION=(\d+x\d+).*?(http[^ ]+)').matches for quality, url in urls: + quality = quality.split('x')[0] if quality not in qualities: qualities.append(quality) - video_urls.append(["m3u8 {}p [Paramount]".format(quality.split('x')[-1]), url]) + video_urls.append(["m3u8 {}p [Paramount]".format(quality), url.split('?')[0]]) video_urls.sort(key=lambda url: int(support.match(url[0], patron=r'(\d+)p').match)) return video_urls