fix StreamingCommunity

This commit is contained in:
Alhaziel01
2021-12-18 12:00:48 +01:00
parent 3b52812f55
commit 2bfad01bd5
3 changed files with 50 additions and 15 deletions

View File

@@ -5,8 +5,8 @@
import functools
import json, requests, sys
from channels.mediasetplay import Token
from core import support, channeltools, httptools
from platformcode import logger
from core import support, channeltools, httptools, jsontools, filetools
from platformcode import logger, config, platformtools
# def findhost(url):
@@ -191,7 +191,9 @@ def episodios(item):
js = json.loads(support.match(item.url, patron=r'seasons="([^"]+)').match.replace('"','"'))
for episodes in js:
logger.debug(jsontools.dump(js))
for it in episodes['episodes']:
itemlist.append(
item.clone(title=support.typo(str(episodes['number']) + 'x' + str(it['number']).zfill(2) + ' - ' + support.cleantitle(it['name']), 'bold'),
episode=it['number'],
@@ -233,5 +235,16 @@ def play(item):
token = b64encode(md5('{}{} Yc8U6r8KjAKAepEA'.format(expires, client_ip).encode('utf-8')).digest()).decode('utf-8').replace('=', '').replace('+', '-').replace('/', '_')
url = 'https://scws.xyz/master/{}?token={}&expires={}&n=1'.format(scws_id, token, expires)
subs = []
urls = []
info = support.match(url, patron='(?:NAME="([^"]+)".*?URI="([^"]+)|RESOLUTION=\d+x(\d+).*?(http[^"\s]+))').matches
return [item.clone(title = channeltools.get_channel_parameters(item.channel)['title'], server='directo', url=url)]
for lang, sub, res, url in info:
if sub:
s = config.get_temp_file(lang +'.srt')
subs.append(s)
filetools.write(s, support.vttToSrt(httptools.downloadpage(support.match(sub, patron=r'(http[^\s\n]+)').match).data))
elif url:
urls.append(['hls [{}]'.format(res), url])
return [item.clone(title = channeltools.get_channel_parameters(item.channel)['title'], server='directo', video_urls=urls, subtitle=subs, manifest='hls')]

View File

@@ -1594,3 +1594,30 @@ def thumb(item_itemlist_string=None, genre=False, live=False):
else:
return get_thumb('next.png')
def vttToSrt(data):
# Code adapted by VTT_TO_SRT.PY (c) Jansen A. Simanullang
ret = ''
data = re.sub(r'(\d\d:\d\d:\d\d).(\d\d\d) --> (\d\d:\d\d:\d\d).(\d\d\d)(?:[ \-\w]+:[\w\%\d:]+)*\n', r'\1,\2 --> \3,\4\n', data)
data = re.sub(r'(\d\d:\d\d).(\d\d\d) --> (\d\d:\d\d).(\d\d\d)(?:[ \-\w]+:[\w\%\d:]+)*\n', r'00:\1,\2 --> 00:\3,\4\n', data)
data = re.sub(r'(\d\d).(\d\d\d) --> (\d\d).(\d\d\d)(?:[ \-\w]+:[\w\%\d:]+)*\n', r'00:00:\1,\2 --> 00:00:\3,\4\n', data)
data = re.sub(r'WEBVTT\n', '', data)
data = re.sub(r'Kind:[ \-\w]+\n', '', data)
data = re.sub(r'Language:[ \-\w]+\n', '', data)
data = re.sub(r'<c[.\w\d]*>', '', data)
data = re.sub(r'</c>', '', data)
data = re.sub(r'<\d\d:\d\d:\d\d.\d\d\d>', '', data)
data = re.sub(r'::[\-\w]+\([\-.\w\d]+\)[ ]*{[.,:;\(\) \-\w\d]+\n }\n', '', data)
data = re.sub(r'Style:\n##\n', '', data)
lines = data.split(os.linesep)
for n, line in enumerate(lines):
if re.match(r"((\d\d:){2}\d\d),(\d{3}) --> ((\d\d:){2}\d\d),(\d{3})", line):
ret += str(n + 1) + os.linesep + line + os.linesep
else:
ret += line + os.linesep
return ret

View File

@@ -1363,6 +1363,10 @@ def get_video_seleccionado(item, seleccion, video_urls, autoplay=False):
def set_player(item, xlistitem, mediaurl, view, strm):
logger.debug()
item.options = {'strm':False}
if item.subtitle:
if type(item.subtitle) != list: item.subtitle = [item.subtitle]
item.subtitle.reverse()
xlistitem.setSubtitles(item.subtitle)
# Moved del conector "torrent" here
if item.server == "torrent":
@@ -1371,9 +1375,6 @@ def set_player(item, xlistitem, mediaurl, view, strm):
# If it is a strm file, play is not necessary
elif strm:
xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, xlistitem)
if item.subtitle:
xbmc.sleep(2000)
xbmc_player.setSubtitles(item.subtitle)
else:
if type(item.player_mode) == int:
@@ -1385,8 +1386,7 @@ def set_player(item, xlistitem, mediaurl, view, strm):
logger.info("mediaurl=" + mediaurl)
prevent_busy()
if player_mode in [0,1]:
if player_mode in [1]:
xlistitem.setProperty('StartOffset','{}'.format(resume_playback(get_played_time(item))))
xlistitem.addStreamInfo('video', {'duration':240})
logger.info('Player Mode:',['Direct', 'Bookmark'][player_mode])
# Add the listitem to a playlist
@@ -1411,12 +1411,6 @@ def set_player(item, xlistitem, mediaurl, view, strm):
download_and_play.download_and_play(mediaurl, "download_and_play.tmp", config.get_setting("downloadpath"))
return
# ALL LOOKING TO REMOVE VIEW
if item.subtitle and view:
logger.info("External subtitles: " + item.subtitle)
xbmc.sleep(2000)
xbmc_player.setSubtitles(item.subtitle)
# if it is a video library file send to mark as seen
if strm or item.strm_path: item.options['strm'] = True
@@ -1426,13 +1420,14 @@ def set_player(item, xlistitem, mediaurl, view, strm):
# for cases where the audio playback window appears in place of the video one
if item.focusOnVideoPlayer:
from core.support import dbg;dbg()
while is_playing() and xbmcgui.getCurrentWindowId() != 12006:
continue
xbmc.sleep(500)
xbmcgui.Window(12005).show()
def add_next_to_playlist(item):
import threading
from core import filetools, videolibrarytools