Fix animeunity, cinemalibero sezione anime
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
|
||||
import cloudscraper, json, copy, inspect
|
||||
from core import jsontools, support
|
||||
from platformcode import autorenumber, logger
|
||||
from platformcode import autorenumber
|
||||
|
||||
session = cloudscraper.create_scraper()
|
||||
|
||||
@@ -154,15 +154,19 @@ def peliculas(item):
|
||||
|
||||
payload = json.dumps(item.args)
|
||||
records = session.post(host + '/archivio/get-animes', headers=headers, data=payload).json()['records']
|
||||
|
||||
for it in records:
|
||||
if not it['title']:
|
||||
it['title'] = ''
|
||||
lang = support.match(it['title'], patron=r'\(([It][Tt][Aa])\)').match
|
||||
title = support.re.sub(r'\s*\([^\)]+\)', '', it['title'])
|
||||
|
||||
if 'ita' in lang.lower(): language = 'ITA'
|
||||
else: language = 'Sub-ITA'
|
||||
|
||||
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.type = it['type']
|
||||
itm.thumbnail = it['imageurl']
|
||||
|
||||
@@ -155,7 +155,11 @@ def episodios(item):
|
||||
for s in servers:
|
||||
executor.submit(get_ep, s)
|
||||
# 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:
|
||||
ret.append(it)
|
||||
return sorted(ret, key=lambda i: i.title)
|
||||
|
||||
@@ -420,7 +420,7 @@ def downloadpage(url, **opt):
|
||||
if 'Px-Host' in req_headers: # first try with proxy
|
||||
logger.debug("CF retry with google translate for domain: %s" % domain)
|
||||
from lib import proxytranslate
|
||||
gResp = proxytranslate.process_request_proxy(url)
|
||||
gResp = proxytranslate.process_request_proxy(opt.get('real-url', url))
|
||||
if gResp:
|
||||
req = gResp['result']
|
||||
response_code = req.status_code
|
||||
@@ -431,7 +431,10 @@ def downloadpage(url, **opt):
|
||||
if not opt.get('headers'):
|
||||
opt['headers'] = []
|
||||
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']:
|
||||
response['data'] = ''
|
||||
|
||||
@@ -3,19 +3,17 @@
|
||||
import time, string, random
|
||||
from core import httptools, support
|
||||
from platformcode import logger, config
|
||||
import cloudscraper
|
||||
scraper = cloudscraper.create_scraper()
|
||||
|
||||
def test_video_exists(page_url):
|
||||
global data
|
||||
logger.debug('page url=', page_url)
|
||||
|
||||
response = scraper.get(page_url)
|
||||
# support.dbg()
|
||||
if response.status_code == 404 or 'dsplayer' not in response.text:
|
||||
response = httptools.downloadpage(page_url)
|
||||
support.dbg()
|
||||
if response.code == 404 or 'dsplayer' not in response.data:
|
||||
return False, config.get_localized_string(70449) % 'DooD Stream'
|
||||
else:
|
||||
data = response.text
|
||||
data = response.data
|
||||
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
|
||||
if 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)])
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user