piccoli Fix
This commit is contained in:
@@ -142,9 +142,9 @@ def episodios(item):
|
|||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
def play(item):
|
def play(item):
|
||||||
if item.filter:
|
if item.livefilter:
|
||||||
item.id = liveDict()[item.filter]['id']
|
item.id = liveDict()[item.livefilter]['id']
|
||||||
item.fulltitle = item.filter
|
item.fulltitle = item.livefilter
|
||||||
item.forcethumb = True
|
item.forcethumb = True
|
||||||
item.no_return = True
|
item.no_return = True
|
||||||
support.thumb(item, live=True)
|
support.thumb(item, live=True)
|
||||||
|
|||||||
+2
-2
@@ -118,9 +118,9 @@ def episodios(item):
|
|||||||
|
|
||||||
def play(item):
|
def play(item):
|
||||||
support.info()
|
support.info()
|
||||||
if item.filter:
|
if item.livefilter:
|
||||||
for it in live(item):
|
for it in live(item):
|
||||||
if it.fulltitle == item.filter:
|
if it.fulltitle == item.livefilter:
|
||||||
item = it
|
item = it
|
||||||
break
|
break
|
||||||
data = support.match(item).data
|
data = support.match(item).data
|
||||||
|
|||||||
@@ -284,10 +284,10 @@ def findvideos(item):
|
|||||||
|
|
||||||
def play(item):
|
def play(item):
|
||||||
support.info()
|
support.info()
|
||||||
if item.filter:
|
if item.livefilter:
|
||||||
d = liveDict()[item.filter]
|
d = liveDict()[item.livefilter]
|
||||||
# support.dbg()
|
# 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)
|
support.thumb(item, live=True)
|
||||||
if not item.urls: urls = item.url
|
if not item.urls: urls = item.url
|
||||||
else: urls = item.urls
|
else: urls = item.urls
|
||||||
|
|||||||
@@ -162,8 +162,9 @@ def findvideos(item):
|
|||||||
|
|
||||||
def play(item):
|
def play(item):
|
||||||
logger.debug()
|
logger.debug()
|
||||||
if item.filter:
|
item.server = 'paramount_server'
|
||||||
d = liveDict()[item.filter]
|
if item.livefilter:
|
||||||
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)
|
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)
|
support.thumb(item, live=True)
|
||||||
return support.servertools.find_video_items(item, data=item.url)
|
return [item]
|
||||||
+9
-3
@@ -342,7 +342,7 @@ def findvideos(item):
|
|||||||
else:
|
else:
|
||||||
url = item.url
|
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)
|
return support.server(item, itemlist=itemlist, Download=False)
|
||||||
|
|
||||||
|
|
||||||
@@ -419,9 +419,15 @@ def load_episodes(key, item):
|
|||||||
|
|
||||||
|
|
||||||
def play(item):
|
def play(item):
|
||||||
if item.filter:
|
if item.livefilter:
|
||||||
d = liveDict()
|
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)
|
support.thumb(item, live=True)
|
||||||
|
if '&output=56' in item.url:
|
||||||
|
match = support.match(item, patron=r'content"><!\[CDATA\[([^\]]+)(?:.*?"WIDEVINE","licenceUrl":"([^"]+))?').match
|
||||||
|
item.url = match[0]
|
||||||
|
if len(match) == 2:
|
||||||
|
item.drm = 'com.widevine.alpha'
|
||||||
|
item.license = match[1] + '|' + host + '|R{SSM}|'
|
||||||
logger.debug('PLAY URL', item.url)
|
logger.debug('PLAY URL', item.url)
|
||||||
return [item]
|
return [item]
|
||||||
@@ -8,7 +8,7 @@ from collections import Counter
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
def find_ngrams(string: str, split_num: int=3) -> set:
|
def find_ngrams(string, split_num=3):
|
||||||
"""
|
"""
|
||||||
Slice string into ngrams.
|
Slice string into ngrams.
|
||||||
Returns array of ngrams for the given string.
|
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:
|
if not string:
|
||||||
return set()
|
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()
|
ngrams = set()
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ def find_ngrams(string: str, split_num: int=3) -> set:
|
|||||||
return None
|
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.
|
Find the similarity between two strings using ngrams.
|
||||||
Returns float score value, 0.0 being completely different strings and 1.0 being equal strings.
|
Returns float score value, 0.0 being completely different strings and 1.0 being equal strings.
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ def run(item=None):
|
|||||||
if sys.argv[2] and 'play' in sys.argv[2]:
|
if sys.argv[2] and 'play' in sys.argv[2]:
|
||||||
sp = sys.argv[2].split('/')
|
sp = sys.argv[2].split('/')
|
||||||
if len(sp) == 3:
|
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
|
# If no item, this is mainlist
|
||||||
elif sys.argv[2]:
|
elif sys.argv[2]:
|
||||||
sp = sys.argv[2].split('&')
|
sp = sys.argv[2].split('&')
|
||||||
|
|||||||
@@ -1057,7 +1057,7 @@ def set_player(item, xlistitem, mediaurl, view, strm):
|
|||||||
play_torrent(item, xlistitem, mediaurl)
|
play_torrent(item, xlistitem, mediaurl)
|
||||||
return
|
return
|
||||||
# If it is a strm file, play is not necessary
|
# 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)
|
xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, xlistitem)
|
||||||
if item.subtitle:
|
if item.subtitle:
|
||||||
xbmc.sleep(2000)
|
xbmc.sleep(2000)
|
||||||
|
|||||||
@@ -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']
|
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
|
urls = support.match(url, patron=r'RESOLUTION=(\d+x\d+).*?(http[^ ]+)').matches
|
||||||
for quality, url in urls:
|
for quality, url in urls:
|
||||||
|
quality = quality.split('x')[0]
|
||||||
if quality not in qualities:
|
if quality not in qualities:
|
||||||
qualities.append(quality)
|
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))
|
video_urls.sort(key=lambda url: int(support.match(url[0], patron=r'(\d+)p').match))
|
||||||
return video_urls
|
return video_urls
|
||||||
|
|||||||
Reference in New Issue
Block a user