piccoli fix
This commit is contained in:
@@ -93,11 +93,14 @@ def episodios(item):
|
|||||||
patron = r'<a target=(?P<url>[^>]+>(?P<title>Episodio\s(?P<episode>\d+))(?::)?(?:(?P<title2>[^<]+))?.*?(?:<br|</p))'
|
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">)'
|
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'
|
item.contentType = 'tvshow'
|
||||||
else:# item.extra == 'serie':
|
elif item.args == 'serie':
|
||||||
support.info("Serie :", item)
|
support.info("Serie :", item)
|
||||||
patron = r'(?:>| )(?P<episode>\d+(?:x|×|×)\d+)[;]?[ ]?(?:(?P<title>[^<–-]+)(?P<data>.*?)|(\2[ ])(?:<(\3.*?)))(?:</a><br /|</a></p|$)'
|
patron = r'(?:>| )(?P<episode>\d+(?:x|×|×)\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)'
|
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'
|
item.contentType = 'tvshow'
|
||||||
|
else:
|
||||||
|
patron = r'(?P<title>\s*[0-9]{2}/[0-9]{2}/[0-9]{4})(?P<data>.*?)<br'
|
||||||
|
|
||||||
def itemHook(item):
|
def itemHook(item):
|
||||||
if not scrapertools.find_single_match(item.title, r'(\d+x\d+)'):
|
if not scrapertools.find_single_match(item.title, r'(\d+x\d+)'):
|
||||||
item.title = re.sub(r'(\d+) -', '1x\\1', item.title)
|
item.title = re.sub(r'(\d+) -', '1x\\1', item.title)
|
||||||
@@ -156,24 +159,30 @@ def check(item):
|
|||||||
support.info()
|
support.info()
|
||||||
data = support.match(item.url, headers=headers).data
|
data = support.match(item.url, headers=headers).data
|
||||||
if 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+(?:×|×)?\d+\-\d+|\d+(?:×|×)\d+').match:
|
if ck == 'serie tv':
|
||||||
item.contentType = 'tvshow'
|
item.contentType = 'tvshow'
|
||||||
|
item.args = 'serie'
|
||||||
item.data = data
|
item.data = data
|
||||||
return episodios(item)
|
return episodios(item)
|
||||||
|
|
||||||
elif blockAnime and ('episodio' in blockAnime.lower() or 'saga' in blockAnime.lower()):
|
elif ck == 'anime':
|
||||||
item.contentType = 'tvshow'
|
item.contentType = 'tvshow'
|
||||||
item.args = 'anime'
|
item.args = 'anime'
|
||||||
item.data = blockAnime
|
item.data = data
|
||||||
return episodios(item)
|
return episodios(item)
|
||||||
|
|
||||||
else:
|
elif ck == 'film':
|
||||||
item.contentType = 'movie'
|
item.contentType = 'movie'
|
||||||
item.data = data
|
item.data = data
|
||||||
return findvideos(item)
|
return findvideos(item)
|
||||||
|
|
||||||
|
else:
|
||||||
|
item.contentType = 'tvshow'
|
||||||
|
item.data = data
|
||||||
|
return episodios(item)
|
||||||
|
|
||||||
|
|
||||||
def findvideos(item):
|
def findvideos(item):
|
||||||
support.info()
|
support.info()
|
||||||
|
|||||||
@@ -85,12 +85,11 @@ def peliculas(item):
|
|||||||
item.contentType = 'episode'
|
item.contentType = 'episode'
|
||||||
return item
|
return item
|
||||||
else:
|
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=[\'"]([^\'"]+)[\'"]'
|
patronNext = '<span class="current">[^<]+<[^>]+><a href=[\'"]([^\'"]+)[\'"]'
|
||||||
|
|
||||||
#support.regexDbg(item, patron, headers)
|
#support.regexDbg(item, patron, headers)
|
||||||
#debug = True
|
# debug = True
|
||||||
return locals()
|
return locals()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
|
|||||||
'NORMAL':2,
|
'NORMAL':2,
|
||||||
'HD':3}
|
'HD':3}
|
||||||
data = httptools.downloadpage(page_url).data
|
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:[^\"]\"([^\"]+)\"")
|
media_urls = scrapertools.find_multiple_matches(data, r"file:[^']'([^']+)',\s*label:[^\"]\"([^\"]+)\"")
|
||||||
logger.debug("speed video - media urls: %s " % media_urls)
|
logger.debug("speed video - media urls: %s " % media_urls)
|
||||||
|
|||||||
+13
-19
@@ -1,35 +1,29 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
# --------------------------------------------------------
|
||||||
|
# Conector Streamz By Alfa development Group
|
||||||
|
# --------------------------------------------------------
|
||||||
|
|
||||||
import re
|
import re
|
||||||
from core import httptools
|
from core import httptools
|
||||||
from core import scrapertools
|
|
||||||
from platformcode import logger, config
|
from platformcode import logger, config
|
||||||
from lib import jsunpack
|
|
||||||
|
|
||||||
|
|
||||||
def test_video_exists(page_url):
|
def test_video_exists(page_url):
|
||||||
global data
|
global data
|
||||||
logger.debug("(page_url='%s')" % page_url)
|
logger.info("(page_url='%s')" % page_url)
|
||||||
data = httptools.downloadpage(page_url).data
|
data = httptools.downloadpage(page_url)
|
||||||
|
|
||||||
if "<font color=\"red\"><b>File not found, sorry!" in data:
|
if "<b>File not found, sorry!</b" in data.data:
|
||||||
return False, config.get_localized_string(70449) % "streamZ"
|
return False, config.get_localized_string(70449) % "streamz"
|
||||||
return True, ""
|
return True, ""
|
||||||
|
|
||||||
|
|
||||||
def get_video_url(page_url, video_password):
|
def get_video_url(page_url, video_password=""):
|
||||||
logger.debug("(page_url='%s')" % page_url)
|
logger.info("(page_url='%s')" % page_url)
|
||||||
video_urls = []
|
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
|
url = re.sub(r'(\.\w{2,3})/\w', '\\1/getlink-', data.url) + '.dll'
|
||||||
|
url += "|User-Agent=%s" % httptools.get_user_agent()
|
||||||
for url in urls:
|
video_urls.append([".mp4 [Streamz]", url])
|
||||||
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])
|
|
||||||
|
|
||||||
return video_urls
|
return video_urls
|
||||||
+10
-1
@@ -28,6 +28,15 @@ if 'KOD_TST_CH' not in os.environ:
|
|||||||
xbmc.get_add_on_info_from_calling_script = add_on_info
|
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 HtmlTestRunner
|
||||||
import parameterized
|
import parameterized
|
||||||
|
|
||||||
@@ -95,7 +104,7 @@ chNumRis = {
|
|||||||
'Serie TV': 30
|
'Serie TV': 30
|
||||||
},
|
},
|
||||||
'italiaserie': {
|
'italiaserie': {
|
||||||
'Serie TV': 20
|
'Serie TV': 15
|
||||||
},
|
},
|
||||||
'casacinemaInfo': {
|
'casacinemaInfo': {
|
||||||
'Film': 150
|
'Film': 150
|
||||||
|
|||||||
Reference in New Issue
Block a user