From e4edd5872d0c936eafbd77032b46a5389200fb24 Mon Sep 17 00:00:00 2001 From: marco <10120390+mac12m99@users.noreply.github.com> Date: Sat, 25 Nov 2023 19:18:51 +0100 Subject: [PATCH] Fix animeunity --- channels/animeunity.py | 54 ++++++++++++++++++--------------- servers/streamingcommunityws.py | 13 +++++--- 2 files changed, 38 insertions(+), 29 deletions(-) diff --git a/channels/animeunity.py b/channels/animeunity.py index c9ab31d1..679cd01a 100644 --- a/channels/animeunity.py +++ b/channels/animeunity.py @@ -153,6 +153,8 @@ def peliculas(item): payload = json.dumps(item.args) records = httptools.downloadpage(host + '/archivio/get-animes', headers=headers, post=payload).json['records'] + # support.dbg() + for it in records: if not it['title']: it['title'] = '' @@ -170,7 +172,7 @@ def peliculas(item): itm.type = it['type'] itm.thumbnail = it['imageurl'] itm.plot = it['plot'] - itm.url = item.url + itm.url = '{}/anime/{}-{}'.format(item.url, it.get('id'), it.get('slug')) if it['episodes_count'] == 1: itm.contentType = 'movie' @@ -199,7 +201,6 @@ def episodios(item): support.info() itemlist = [] title = 'Parte ' if item.type.lower() == 'movie' else 'Episodio ' - for it in item.episodes: itemlist.append( item.clone(title=support.typo(title + it['number'], 'bold'), @@ -224,28 +225,33 @@ def episodios(item): def findvideos(item): - if item.scws_id: - from time import time - from base64 import b64encode - from hashlib import md5 + # if item.scws_id: + # from time import time + # from base64 import b64encode + # from hashlib import md5 + # + # client_ip = support.httptools.downloadpage('http://ip-api.com/json/').json.get('query') + # + # expires = int(time() + 172800) + # token = b64encode(md5('{}{} Yc8U6r8KjAKAepEA'.format(expires, client_ip).encode('utf-8')).digest()).decode('utf-8').replace('=', '').replace('+', '-').replace('/', '_') + # + # url = 'https://scws.work/master/{}?token={}&expires={}&n=1'.format(item.scws_id, token, expires) + # + # itemlist = [item.clone(title=support.config.get_localized_string(30137), url=url, server='directo', action='play')] - client_ip = support.httptools.downloadpage('http://ip-api.com/json/').json.get('query') + from core import channeltools + itemlist = [item.clone(title=channeltools.get_channel_parameters(item.channel)['title'], + url=item.url, server='streamingcommunityws')] + return support.server(item, itemlist=itemlist, referer=False) - expires = int(time() + 172800) - token = b64encode(md5('{}{} Yc8U6r8KjAKAepEA'.format(expires, client_ip).encode('utf-8')).digest()).decode('utf-8').replace('=', '').replace('+', '-').replace('/', '_') + # return support.server(item, itemlist=itemlist) - url = 'https://scws.work/master/{}?token={}&expires={}&n=1'.format(item.scws_id, token, expires) - - itemlist = [item.clone(title=support.config.get_localized_string(30137), url=url, server='directo', action='play')] - - return support.server(item, itemlist=itemlist) - - -def play(item): - urls = list() - info = support.match(item.url, patron=r'(http.*?rendition=(\d+)[^\s]+)').matches - - if info: - for url, res in info: - urls.append(['hls [{}]'.format(res), url]) - return urls \ No newline at end of file +# +# def play(item): +# urls = list() +# info = support.match(item.url, patron=r'(http.*?rendition=(\d+)[^\s]+)').matches +# +# if info: +# for url, res in info: +# urls.append(['hls [{}]'.format(res), url]) +# return urls \ No newline at end of file diff --git a/servers/streamingcommunityws.py b/servers/streamingcommunityws.py index e0c2be4d..ba4d44ff 100755 --- a/servers/streamingcommunityws.py +++ b/servers/streamingcommunityws.py @@ -6,17 +6,20 @@ import xbmc from core import httptools, support, filetools from platformcode import logger, config from concurrent import futures -from urllib.parse import urlparse vttsupport = False if int(xbmc.getInfoLabel('System.BuildVersion').split('.')[0]) < 20 else True def test_video_exists(page_url): - global iframe + global server_url global iframeParams - iframe = support.scrapertools.decodeHtmlentities(support.match(page_url, patron='