piccoli fix

This commit is contained in:
marco
2020-12-28 17:30:09 +01:00
parent 61ee2dc1c6
commit 67ffce6ede
5 changed files with 41 additions and 30 deletions

View File

@@ -93,11 +93,14 @@ def episodios(item):
patron = r'<a target=(?P<url>[^>]+>(?P<title>Episodio\s(?P<episode>\d+))(?::)?(?:(?P<title2>[^<]+))?.*?(?:<br|</p))'
patronBlock = r'(?:Stagione (?P<season>\d+))?(?:</span><br />|</span></p>|strong></p>)(?P<block>.*?)(?:<div style="margin-left|<span class="txt_dow">)'
item.contentType = 'tvshow'
else:# item.extra == 'serie':
elif item.args == 'serie':
support.info("Serie :", item)
patron = r'(?:>| )(?P<episode>\d+(?:x|×|&#215;)\d+)[;]?[ ]?(?:(?P<title>[^<-]+)(?P<data>.*?)|(\2[ ])(?:<(\3.*?)))(?:</a><br /|</a></p|$)'
patronBlock = r'>(?:[^<]+[Ss]tagione\s|[Ss]tagione [Uu]nica)(?:(?P<lang>iTA|ITA|Sub-ITA|Sub-iTA))?.*?</strong>(?P<block>.+?)(?:<strong|<div class="at-below)'
item.contentType = 'tvshow'
else:
patron = r'(?P<title>\s*[0-9]{2}/[0-9]{2}/[0-9]{4})(?P<data>.*?)<br'
def itemHook(item):
if not scrapertools.find_single_match(item.title, r'(\d+x\d+)'):
item.title = re.sub(r'(\d+) -', '1x\\1', item.title)
@@ -156,24 +159,30 @@ def check(item):
support.info()
data = support.match(item.url, headers=headers).data
if data:
blockAnime = support.match(data, patron=r'<div id="container" class="container">(.+?<div style="margin-left)').match
ck = support.match(data, patron=r'Supportaci condividendo quest[oa] ([^:]+)').match.lower()
if support.match(blockAnime, patron=r'\d+(?:&#215;|×)?\d+\-\d+|\d+(?:&#215;|×)\d+').match:
if ck == 'serie tv':
item.contentType = 'tvshow'
item.args = 'serie'
item.data = data
return episodios(item)
elif blockAnime and ('episodio' in blockAnime.lower() or 'saga' in blockAnime.lower()):
elif ck == 'anime':
item.contentType = 'tvshow'
item.args = 'anime'
item.data = blockAnime
item.data = data
return episodios(item)
else:
elif ck == 'film':
item.contentType = 'movie'
item.data = data
return findvideos(item)
else:
item.contentType = 'tvshow'
item.data = data
return episodios(item)
def findvideos(item):
support.info()

View File

@@ -85,12 +85,11 @@ def peliculas(item):
item.contentType = 'episode'
return item
else:
patron = r'<div class="poster">\s?<a href="(?P<url>[^"]+)"><img src="(?P<thumb>[^"]+)" alt="[^"]+"><\/a>[^>]+>[^>]+>[^>]+> (?P<rating>[0-9.]+)<[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>(?P<title>.+?)[ ]?(?:\[(?P<lang>Sub-ITA|Sub-ita)\])?<[^>]+>[^>]+>[^>]+>(?P<year>[^<]+)(?:<.*?<div class="texto">(?P<plot>[^<]+))?'
patron = r'<div class="poster">\s?<a href="(?P<url>[^"]+)"><img src="(?P<thumb>[^"]+)" alt="[^"]+"><\/a>[^>]+>[^>]+>[^>]+> (?P<rating>[0-9.]+)<[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>(?P<title>.+?)[ ]?(?:\[(?P<lang>Sub-ITA|Sub-ita)\])?<[^>]+>[^>]+>[^>]+>(?P<year>[0-9]{4})?[^<]*(?:<.*?<div class="texto">(?P<plot>[^<]+))?'
patronNext = '<span class="current">[^<]+<[^>]+><a href=[\'"]([^\'"]+)[\'"]'
#support.regexDbg(item, patron, headers)
#debug = True
# debug = True
return locals()

View File

@@ -21,7 +21,7 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
'NORMAL':2,
'HD':3}
data = httptools.downloadpage(page_url).data
logger.debug('SPEEDVIDEO DATA '+ data)
# logger.debug('SPEEDVIDEO DATA '+ data)
media_urls = scrapertools.find_multiple_matches(data, r"file:[^']'([^']+)',\s*label:[^\"]\"([^\"]+)\"")
logger.debug("speed video - media urls: %s " % media_urls)

View File

@@ -1,35 +1,29 @@
# -*- coding: utf-8 -*-
# --------------------------------------------------------
# Conector Streamz By Alfa development Group
# --------------------------------------------------------
import re
from core import httptools
from core import scrapertools
from platformcode import logger, config
from lib import jsunpack
def test_video_exists(page_url):
global data
logger.debug("(page_url='%s')" % page_url)
data = httptools.downloadpage(page_url).data
logger.info("(page_url='%s')" % page_url)
data = httptools.downloadpage(page_url)
if "<font color=\"red\"><b>File not found, sorry!" in data:
return False, config.get_localized_string(70449) % "streamZ"
if "<b>File not found, sorry!</b" in data.data:
return False, config.get_localized_string(70449) % "streamz"
return True, ""
def get_video_url(page_url, video_password):
logger.debug("(page_url='%s')" % page_url)
def get_video_url(page_url, video_password=""):
logger.info("(page_url='%s')" % page_url)
video_urls = []
from core.support import match
matches = match(data, patron=r'(eval\(function\(p,a,c,k,e,d\).*?)\s+</script>').matches
unpacked = ''
for packed in matches:
unpacked += jsunpack.unpack(packed) + '\n'
urls = match(unpacked, patron=r"videojs\d+[^;]+[^']+'[^']+'[^']+'(https://streamz.*?/get.*?.dll)").matches
for url in urls:
url = url + "|User-Agent=%s" % httptools.get_user_agent()
if not video_urls or url not in video_urls[-1]:
video_urls.append(["[streamZ]", url])
url = re.sub(r'(\.\w{2,3})/\w', '\\1/getlink-', data.url) + '.dll'
url += "|User-Agent=%s" % httptools.get_user_agent()
video_urls.append([".mp4 [Streamz]", url])
return video_urls

View File

@@ -28,6 +28,15 @@ if 'KOD_TST_CH' not in os.environ:
xbmc.get_add_on_info_from_calling_script = add_on_info
# functions that on kodi 19 moved to xbmcvfs
try:
import xbmcvfs
xbmc.translatePath = xbmcvfs.translatePath
xbmc.validatePath = xbmcvfs.validatePath
xbmc.makeLegalFilename = xbmcvfs.makeLegalFilename
except:
pass
import HtmlTestRunner
import parameterized
@@ -95,7 +104,7 @@ chNumRis = {
'Serie TV': 30
},
'italiaserie': {
'Serie TV': 20
'Serie TV': 15
},
'casacinemaInfo': {
'Film': 150