Fix animeunity, cinemalibero sezione anime

This commit is contained in:
marco
2023-01-19 20:27:23 +01:00
parent ef018fce11
commit 2787c980db
4 changed files with 22 additions and 13 deletions
+7 -3
View File
@@ -5,7 +5,7 @@
import cloudscraper, json, copy, inspect import cloudscraper, json, copy, inspect
from core import jsontools, support from core import jsontools, support
from platformcode import autorenumber, logger from platformcode import autorenumber
session = cloudscraper.create_scraper() session = cloudscraper.create_scraper()
@@ -154,15 +154,19 @@ def peliculas(item):
payload = json.dumps(item.args) payload = json.dumps(item.args)
records = session.post(host + '/archivio/get-animes', headers=headers, data=payload).json()['records'] records = session.post(host + '/archivio/get-animes', headers=headers, data=payload).json()['records']
for it in records: for it in records:
if not it['title']:
it['title'] = ''
lang = support.match(it['title'], patron=r'\(([It][Tt][Aa])\)').match lang = support.match(it['title'], patron=r'\(([It][Tt][Aa])\)').match
title = support.re.sub(r'\s*\([^\)]+\)', '', it['title']) title = support.re.sub(r'\s*\([^\)]+\)', '', it['title'])
if 'ita' in lang.lower(): language = 'ITA' if 'ita' in lang.lower(): language = 'ITA'
else: language = 'Sub-ITA' else: language = 'Sub-ITA'
itm = item.clone(title=support.typo(title,'bold') + support.typo(language,'_ [] color kod') + (support.typo(it['title_eng'],'_ ()') if it['title_eng'] else '')) if title:
itm = item.clone(title=support.typo(title,'bold') + support.typo(language,'_ [] color kod') + (support.typo(it['title_eng'],'_ ()') if it['title_eng'] else ''))
else:
itm = item.clone(title=support.typo(it['title_eng'],'bold') + support.typo(language,'_ [] color kod'))
itm.contentLanguage = language itm.contentLanguage = language
itm.type = it['type'] itm.type = it['type']
itm.thumbnail = it['imageurl'] itm.thumbnail = it['imageurl']
+5 -1
View File
@@ -155,7 +155,11 @@ def episodios(item):
for s in servers: for s in servers:
executor.submit(get_ep, s) executor.submit(get_ep, s)
# logger.debug(it.contentLanguage) # logger.debug(it.contentLanguage)
ret.extend([it.clone(title=typo(ep, 'bold')+typo(it.contentLanguage, '_ [] color kod bold'), contentSeason=int(ep.split('x')[0]), contentEpisodeNumber=int(ep.split('x')[1]), servers=[srv.tourl() for srv in episodes[ep]]) for ep in episodes]) ret.extend([it.clone(title=typo(ep, 'bold')+typo(it.contentLanguage, '_ [] color kod bold'), servers=[srv.tourl() for srv in episodes[ep]]) for ep in episodes])
if item.args != 'anime':
for n, r in enumerate(ret):
r.contentSeason = int(episodes[n].split('x')[0])
r.contentEpisodeNumber = int(episodes[n].split('x')[1])
elif ep: elif ep:
ret.append(it) ret.append(it)
return sorted(ret, key=lambda i: i.title) return sorted(ret, key=lambda i: i.title)
+5 -2
View File
@@ -420,7 +420,7 @@ def downloadpage(url, **opt):
if 'Px-Host' in req_headers: # first try with proxy if 'Px-Host' in req_headers: # first try with proxy
logger.debug("CF retry with google translate for domain: %s" % domain) logger.debug("CF retry with google translate for domain: %s" % domain)
from lib import proxytranslate from lib import proxytranslate
gResp = proxytranslate.process_request_proxy(url) gResp = proxytranslate.process_request_proxy(opt.get('real-url', url))
if gResp: if gResp:
req = gResp['result'] req = gResp['result']
response_code = req.status_code response_code = req.status_code
@@ -431,7 +431,10 @@ def downloadpage(url, **opt):
if not opt.get('headers'): if not opt.get('headers'):
opt['headers'] = [] opt['headers'] = []
opt['headers'].extend([['Px-Host', domain], ['Px-Token', cf_proxy['token']]]) opt['headers'].extend([['Px-Host', domain], ['Px-Token', cf_proxy['token']]])
return downloadpage(urlparse.urlunparse((parse.scheme, cf_proxy['url'], parse.path, parse.params, parse.query, parse.fragment)), **opt) opt['real-url'] = url
ret = downloadpage(urlparse.urlunparse((parse.scheme, cf_proxy['url'], parse.path, parse.params, parse.query, parse.fragment)), **opt)
ret.url = url
return ret
if not response['data']: if not response['data']:
response['data'] = '' response['data'] = ''
+5 -7
View File
@@ -3,19 +3,17 @@
import time, string, random import time, string, random
from core import httptools, support from core import httptools, support
from platformcode import logger, config from platformcode import logger, config
import cloudscraper
scraper = cloudscraper.create_scraper()
def test_video_exists(page_url): def test_video_exists(page_url):
global data global data
logger.debug('page url=', page_url) logger.debug('page url=', page_url)
response = scraper.get(page_url) response = httptools.downloadpage(page_url)
# support.dbg() support.dbg()
if response.status_code == 404 or 'dsplayer' not in response.text: if response.code == 404 or 'dsplayer' not in response.data:
return False, config.get_localized_string(70449) % 'DooD Stream' return False, config.get_localized_string(70449) % 'DooD Stream'
else: else:
data = response.text data = response.data
return True, "" return True, ""
@@ -30,7 +28,7 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
match = support.match(data, patron=r'''dsplayer\.hotkeys[^']+'([^']+).+?function\s*makePlay.+?return[^?]+([^"]+)''').match match = support.match(data, patron=r'''dsplayer\.hotkeys[^']+'([^']+).+?function\s*makePlay.+?return[^?]+([^"]+)''').match
if match: if match:
url, token = match url, token = match
ret = scraper.get(host + url, headers=headers).text ret = httptools.downloadpage(host + url, headers=headers).data
video_urls.append(['mp4 [DooD Stream]', '{}{}{}{}|Referer={}'.format(randomize(ret), url, token, int(time.time() * 1000), host)]) video_urls.append(['mp4 [DooD Stream]', '{}{}{}{}|Referer={}'.format(randomize(ret), url, token, int(time.time() * 1000), host)])