Diff
checker
Texto
Texto
Imágenes
Documentos
Excel
Carpetas
Legal
Enterprise
Aplicación de escritorio
Precios
Iniciar sesión
Descargar Diffchecker Desktop
Comparar texto
Encuentra la diferencia entre dos archivos de texto
Herramientas
Historial
Editor live
Ocultar espacios en blanco
Ocultar sin cambios
Sin ajuste de línea
Vista
Dividido
Unificado
Nivel de detalle
Inteligente
Palabra
Letra
Estilos de texto
Cambiar apariencia
Resaltado de sintaxis
Elegir sintaxis
Ignorar
Transformar texto
Ir al primer cambio
Editar entrada
Diffchecker Desktop
La forma más segura de usar Diffchecker. ¡Obtén la app de Diffchecker Desktop: tus diffs nunca salen de tu computadora!
Obtener Desktop
Untitled diff
Creado
hace 7 años
El diff nunca expira
Borrar
Exportar
Compartir
Explicar
301 eliminaciones
Líneas
Total
Eliminado
Caracteres
Total
Eliminado
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
320 líneas
Copiar todo
62 adiciones
Líneas
Total
Añadido
Caracteres
Total
Añadido
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
82 líneas
Copiar todo
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
# ------------------------------------------------------------
# ------------------------------------------------------------
Copiar
Copiado
Copiar
Copiado
#
Icarus
- XBMC Plugin
#
Ringraziamo
Icarus
crew
# Canale per cinemastreaming
# Canale per cinemastreaming
Copiar
Copiado
Copiar
Copiado
# https://alfa-addon.com/categories/icarus-addon.50/
# ------------------------------------------------------------
# ------------------------------------------------------------
import re
import re
Copiar
Copiado
Copiar
Copiado
from channels import
autoplay,
filtertools
from channels import
filtertools
from core import scrapertools, servertools, httptools
, tmdb
from core import scrapertools, servertools, httptools
from core.item import Item
from core.item import Item
Copiar
Copiado
Copiar
Copiado
from lib.unshortenit import unshorten
from platformcode import config
from platformcode import config
, logger
from core import tmdb
__channel__ = "cinemastreaming"
host = "https://www.cinemastreaming.pw"
IDIOMAS = {'Italiano': 'IT'}
list_language = IDIOMAS.values()
list_servers = ['openload', 'youtube']
list_quality = ['default']
Copiar
Copiado
Copiar
Copiado
__comprueba_enlaces__
=
config.get_setting('comprueba_enlaces', '
cinemastreaming
')
host
=
'https://
cinemastreaming
.info'
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'cinemastreaming')
headers = [['Referer', host]]
headers = [['Referer', host]]
Copiar
Copiado
Copiar
Copiado
def mainlist(item):
def mainlist(item):
Copiar
Copiado
Copiar
Copiado
logger.info("icarus.cinemastreaming mainlist")
log()
autoplay.init(item.channel, list_servers, list_quality)
# Main options
itemlist = [Item(channel=__channel__,
action="peliculas",
title="[COLOR azure]Film[/COLOR]",
url="%s/film/" % host,
extra="movie",
thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"),
Item(channel=__channel__,
action="categorie",
title="[COLOR azure]Categorie[/COLOR]",
url=host,
extra="movie",
thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"),
# Item(channel=__channel__,
# action="paesi",
# title="[COLOR azure]Paesi[/COLOR]",
# url=host,
# extra="movie",
# thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"),
Item(channel=__channel__,
action="search",
title="[COLOR yellow]Cerca Film...[/COLOR]",
extra="movie",
thumbnail="http://dc467.4shared.com/img/fEbJqOum/s7/13feaf0c8c0/Search"),
Item(channel=__channel__,
action="peliculas_tv",
title="[COLOR azure]SerieTV[/COLOR]",
url="%s/serie-tv/" % host,
extra="movie",
thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"),
Item(channel=__channel__,
action="search",
title="[COLOR yellow]Cerca Serie...[/COLOR]",
url=host,
extra="tvshow",
thumbnail="http://dc467.4shared.com/img/fEbJqOum/s7/13feaf0c8c0/Search")]
autoplay.show_option(item.channel, itemlist)
return itemlist
def peliculas(item):
logger.info("[cinemastreaming.py] peliculas")
itemlist = []
# Carica la pagina
data = httptools.downloadpage(item.url, headers=headers).data
# Estrae i contenuti
bloque = scrapertools.get_match(data, r'<h1 class="Title">(.*?)</article></li></ul>')
patron = r'<a href="([^"]+)"><div class="Image">'
matches = re.compile(patron, re.DOTALL).findall(bloque)
for scrapedurl in matches:
scrapedthumbnail = ""
scrapedplot = ""
scrapedtitle = scrapedurl.replace("-", " ").replace(host, "").replace("/", "").title()
itemlist.append(
Item(channel=__channel__,
action="findvideos",
contentType="movie",
title=scrapedtitle,
fulltitle=scrapedtitle,
text_color="azure",
url=scrapedurl,
thumbnail=scrapedthumbnail,
plot=scrapedplot,
show=scrapedtitle,
extra=item.extra,
viewmode="movie_with_plot"))
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
Copiar
Copiado
Copiar
Copiado
# Next Page
# Menu Principale
next_page = scrapertools.find_single_match(data,
r'<span aria-current=\'page\' class=\'page-numbers current\'>[^<]+</span> <a class=\'page-numbers\' href=\'(.*?)\'>')
Copiar
Copiado
Copiar
Copiado
if next_page != "":
itemlist = [Item(channel = item.channel,
itemlist.append(
contentType = 'movie',
Item(channel=__channel__,
title = 'Film',
action="peliculas",
url = host + '/film/',
title="[COLOR orange]Successivo >>[/COLOR]",
action = 'video',
url=next_page,
thumbnail = '',
extra=item.extra,
fanart = ''
thumbnail="http://2.bp.blogspot.com/-fE9tzwmjaeQ/UcM2apxDtjI/AAAAAAAAeeg/WKSGM2TADLM/s1600/pager+old.png"))
),
]
return itemlist
return itemlist
Copiar
Copiado
Copiar
Copiado
def video(item):
log()
Copiar
Copiado
Copiar
Copiado
def peliculas_tv(item):
itemlist = []
# Creo una lista Vuota
logger.info("[cinemastreaming.py] peliculas")
itemlist = []
# Carica la pagina
# Carica la pagina
data = httptools.downloadpage(item.url, headers=headers).data
data = httptools.downloadpage(item.url, headers=headers).data
Copiar
Copiado
Copiar
Copiado
block = scrapertools.find_single_match(data, r'<main>(.*?)<\/main>')
block = re.sub('\t|\n', '', block)
Copiar
Copiado
Copiar
Copiado
# Estrae i contenuti
patron = r'
<article.*?class="TPost C">.*?
<a href="([^"]+)">
.*?src="([^"]+)".*?>.*?<h3
class="
Title">([^<]+)<\/h3>(.*?)<\/article>
'
bloque = scrapertools.get_match(data, r'<h1 class="Title">(.*?)</article></li></ul>')
matches = re.compile(patron, re.DOTALL).findall(
block
)
patron = r'
<a href="([^"]+)">
<div
class="
Image">
'
matches = re.compile(patron, re.DOTALL).findall(
bloque
)
Copiar
Copiado
Copiar
Copiado
for scrapedurl
in matches:
for scrapedurl
, scrapedthumb, scrapedtitle, scrapedinfo
in matches:
scrapedthumbnail = ""
log('Info Block', scrapedinfo)
scrapedplot = ""
patron = r'<span class="Year">(.*?)<\/span>.*?<span class="Vote.*?">(.*?)<\/span>.*?<div class="Description"><p>(.*?)<\/p>.*?<p class="Genre.*?">(.*?)<\/p><p class="Director.*?">.*?<a.*?>(.*?)<\/a>.*?<p class="Actors.*?">(.*?)<\/p>'
scrapedtitle = scrapedurl.replace("-", " ").replace(host, "").replace("/", "").title()
info = re.compile(patron, re.DOTALL).findall(scrapedinfo)
itemlist.append(
for year, rating, plot, genre, director, cast in info:
Item(channel=__channel__,
genre = scrapertools.find_multiple_matches(genre, r'<a.*?>(.*?)<\/a>')
action="episodios",
cast = scrapertools.find_multiple_matches(cast, r'<a.*?>(.*?)<\/a>')
contentType="tvshow",
title=scrapedtitle,
fulltitle=scrapedtitle,
text_color="azure",
url=scrapedurl,
thumbnail=scrapedthumbnail,
plot=scrapedplot,
show=scrapedtitle,
extra=item.extra,
viewmode="movie_with_plot"))
Copiar
Copiado
Copiar
Copiado
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
infoLabels = {}
infoLabels['Year'] = year
next_page = scrapertools.find_single_match(data,
infoLabels['Rating'] = rating
r'<span aria-current=\'page\' class=\'page-numbers current\'>[^<]+</span> <a class=\'page-numbers\' href=\'(.*?)\'>')
infoLabels['Plot'] = plot
infoLabels['Genre'] = genre
if next_page != "":
infoLabels['Director'] = director
itemlist.append(
infoLabels['Cast'] = cast
Item(channel=__channel__,
action="peliculas_tv",
title="[COLOR orange]Successivo >>[/COLOR]",
url=next_page,
extra=item.extra,
thumbnail="http://2.bp.blogspot.com/-fE9tzwmjaeQ/UcM2apxDtjI/AAAAAAAAeeg/WKSGM2TADLM/s1600/pager+old.png"))
return itemlist
def episodios(item):
logger.info("icarus.cinemastreaming peliculas_tv")
itemlist = []
# Carica la pagina
data = httptools.downloadpage(item.url, headers=headers).data
bloque = scrapertools.get_match(data, r'<main>(.*?)</main>')
# Estrae i contenuti
patron = r'<td class="MvTbTtl"><a href="([^"]+)">(.*?)<'
matches = re.compile(patron, re.DOTALL).findall(bloque)
for scrapedurl, scraped2 in matches:
scrapedtitle = scrapedurl
scrapedtitle = scrapedtitle.replace(host, "")
scrapedtitle = scrapedtitle.replace("episode", "")
scrapedtitle = scrapedtitle.replace("/", "").title()
scrapedtitle = scrapedtitle + " " + scraped2
itemlist.append(
Item(channel=__channel__,
action="findvideos",
title=scrapedtitle,
fulltitle=scrapedtitle,
text_color="azure",
url=scrapedurl,
thumbnail=item.thumbnail))
return itemlist
def categorie(item):
logger.info("[cinemastreaming.py] categorie")
itemlist = []
# Carica la pagina
data = httptools.downloadpage(item.url, headers=headers).data
# Estrae i contenuti
bloque = scrapertools.get_match(data, r'Categorie</a><ul class="sub-menu">(.*?)</ul>')
patronvideos = r'<li id="menu-item-.*?category.*?<a href="([^"]+)">([^"]+)</a></li>'
matches = re.compile(patronvideos, re.DOTALL).finditer(bloque)
for match in matches:
itemlist.append(
Item(channel=__channel__,
action="peliculas",
title=match.group(2),
text_color="azure",
url=match.group(1),
thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png",
folder=True))
return itemlist
# def paesi(item):
# logger.info("[cinemastreaming.py] paesi")
# itemlist = []
# if item.url == "":
# item.url = host
# # Carica la pagina
# data = httptools.downloadpage(item.url, headers=headers).data
# # Estrae i contenuti
# patronvideos = r'<li id="menu-item-.*?country.*?<a href="([^"]+)">([^"]+)</a></li>'
# matches = re.compile(patronvideos, re.DOTALL).finditer(data)
# for match in matches:
# itemlist.append(
# Item(channel=__channel__,
# action="peliculas",
# title=match.group(2),
# text_color="azure",
# url=match.group(1),
# thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png",
# folder=True))
# return itemlist
def listserie(item):
# da implementare
return None
def findvideos(item):
logger.info("[cinemastreaming.py] findvideos")
# Carica la pagina
data = httptools.downloadpage(item.url, headers=headers).data
urls = set()
if 'trdownload' in data:
data = data.replace("&", "&")
for url in scrapertools.find_multiple_matches(data, r'href="(%s/\?trdownload[^"]+?)"' % host):
url, c = unshorten(url, 'adfly')
urls.add(url)
itemlist = servertools.find_video_items(data=str(urls) + data)
for videoitem in itemlist:
videoitem.title = "".join([item.title, '[COLOR green][B]' + videoitem.title + '[/B][/COLOR]'])
videoitem.fulltitle = item.fulltitle
videoitem.show = item.show
videoitem.thumbnail = item.thumbnail
videoitem.channel = __channel__
videoitem.contentType = item.contentType
videoitem.language = IDIOMAS['Italiano']
# Requerido para Filtrar enlaces
if __comprueba_enlaces__:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__)
# Requerido para FilterTools
itemlist = filtertools.get_links(itemlist, item, list_language)
# Requerido para AutoPlay
autoplay.start(itemlist, item)
if item.contentType != 'episode':
if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos':
itemlist.append(
itemlist.append(
Copiar
Copiado
Copiar
Copiado
Item(channel=item.channel,
title='[COLOR yellow][B]Aggiungi alla videoteca[/B][/COLOR]', url=item.url,
Item(channel=item.channel,
action="
add_pelicula_to_library", extra="
findvideos",
contentT
itl
e=item.
contentTitle))
action="
findvideos",
contentT
yp
e=item.
contentType,
title=scrapedtitle,
fulltitle=scrapedtitle,
url=scrapedurl,
thumbnail=scrapedthumb,
infoLabels = infoLabels,
show=scrapedtitle))
return itemlist
return itemlist
Copiar
Copiado
Copiar
Copiado
def
search(item, texto
):
def
log(stringa1="", stringa2=""
):
logger.info("[
cinemastreaming.py]
" +
item.url
+ "
search
" +
texto)
import inspect, os
item.url = host
+ "
/?s=" + texto
from platformcode import logger
try:
logger.info("[
" +
os.path.basename(__file__)
+ "
] - [
" +
inspect.stack()[1][3]
+ "
] " + str(stringa1) + str(stringa2))
if item.extra == "movie":
return peliculas(item)
if item.extra == "tvshow":
return peliculas_tv(item)
# Continua la ricerca in caso di errore
except:
import sys
for line in sys.exc_info():
logger.error("%s" % line)
return []
Diferencias guardadas
Texto original
Abrir archivo
# -*- coding: utf-8 -*- # ------------------------------------------------------------ # Icarus - XBMC Plugin # Canale per cinemastreaming # https://alfa-addon.com/categories/icarus-addon.50/ # ------------------------------------------------------------ import re from channels import autoplay, filtertools from core import scrapertools, servertools, httptools, tmdb from core.item import Item from lib.unshortenit import unshorten from platformcode import config, logger __channel__ = "cinemastreaming" host = "https://www.cinemastreaming.pw" IDIOMAS = {'Italiano': 'IT'} list_language = IDIOMAS.values() list_servers = ['openload', 'youtube'] list_quality = ['default'] __comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'cinemastreaming') __comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'cinemastreaming') headers = [['Referer', host]] def mainlist(item): logger.info("icarus.cinemastreaming mainlist") autoplay.init(item.channel, list_servers, list_quality) # Main options itemlist = [Item(channel=__channel__, action="peliculas", title="[COLOR azure]Film[/COLOR]", url="%s/film/" % host, extra="movie", thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"), Item(channel=__channel__, action="categorie", title="[COLOR azure]Categorie[/COLOR]", url=host, extra="movie", thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"), # Item(channel=__channel__, # action="paesi", # title="[COLOR azure]Paesi[/COLOR]", # url=host, # extra="movie", # thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"), Item(channel=__channel__, action="search", title="[COLOR yellow]Cerca Film...[/COLOR]", extra="movie", thumbnail="http://dc467.4shared.com/img/fEbJqOum/s7/13feaf0c8c0/Search"), Item(channel=__channel__, action="peliculas_tv", title="[COLOR azure]SerieTV[/COLOR]", url="%s/serie-tv/" % host, extra="movie", thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"), Item(channel=__channel__, action="search", title="[COLOR yellow]Cerca Serie...[/COLOR]", url=host, extra="tvshow", thumbnail="http://dc467.4shared.com/img/fEbJqOum/s7/13feaf0c8c0/Search")] autoplay.show_option(item.channel, itemlist) return itemlist def peliculas(item): logger.info("[cinemastreaming.py] peliculas") itemlist = [] # Carica la pagina data = httptools.downloadpage(item.url, headers=headers).data # Estrae i contenuti bloque = scrapertools.get_match(data, r'<h1 class="Title">(.*?)</article></li></ul>') patron = r'<a href="([^"]+)"><div class="Image">' matches = re.compile(patron, re.DOTALL).findall(bloque) for scrapedurl in matches: scrapedthumbnail = "" scrapedplot = "" scrapedtitle = scrapedurl.replace("-", " ").replace(host, "").replace("/", "").title() itemlist.append( Item(channel=__channel__, action="findvideos", contentType="movie", title=scrapedtitle, fulltitle=scrapedtitle, text_color="azure", url=scrapedurl, thumbnail=scrapedthumbnail, plot=scrapedplot, show=scrapedtitle, extra=item.extra, viewmode="movie_with_plot")) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) # Next Page next_page = scrapertools.find_single_match(data, r'<span aria-current=\'page\' class=\'page-numbers current\'>[^<]+</span> <a class=\'page-numbers\' href=\'(.*?)\'>') if next_page != "": itemlist.append( Item(channel=__channel__, action="peliculas", title="[COLOR orange]Successivo >>[/COLOR]", url=next_page, extra=item.extra, thumbnail="http://2.bp.blogspot.com/-fE9tzwmjaeQ/UcM2apxDtjI/AAAAAAAAeeg/WKSGM2TADLM/s1600/pager+old.png")) return itemlist def peliculas_tv(item): logger.info("[cinemastreaming.py] peliculas") itemlist = [] # Carica la pagina data = httptools.downloadpage(item.url, headers=headers).data # Estrae i contenuti bloque = scrapertools.get_match(data, r'<h1 class="Title">(.*?)</article></li></ul>') patron = r'<a href="([^"]+)"><div class="Image">' matches = re.compile(patron, re.DOTALL).findall(bloque) for scrapedurl in matches: scrapedthumbnail = "" scrapedplot = "" scrapedtitle = scrapedurl.replace("-", " ").replace(host, "").replace("/", "").title() itemlist.append( Item(channel=__channel__, action="episodios", contentType="tvshow", title=scrapedtitle, fulltitle=scrapedtitle, text_color="azure", url=scrapedurl, thumbnail=scrapedthumbnail, plot=scrapedplot, show=scrapedtitle, extra=item.extra, viewmode="movie_with_plot")) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) next_page = scrapertools.find_single_match(data, r'<span aria-current=\'page\' class=\'page-numbers current\'>[^<]+</span> <a class=\'page-numbers\' href=\'(.*?)\'>') if next_page != "": itemlist.append( Item(channel=__channel__, action="peliculas_tv", title="[COLOR orange]Successivo >>[/COLOR]", url=next_page, extra=item.extra, thumbnail="http://2.bp.blogspot.com/-fE9tzwmjaeQ/UcM2apxDtjI/AAAAAAAAeeg/WKSGM2TADLM/s1600/pager+old.png")) return itemlist def episodios(item): logger.info("icarus.cinemastreaming peliculas_tv") itemlist = [] # Carica la pagina data = httptools.downloadpage(item.url, headers=headers).data bloque = scrapertools.get_match(data, r'<main>(.*?)</main>') # Estrae i contenuti patron = r'<td class="MvTbTtl"><a href="([^"]+)">(.*?)<' matches = re.compile(patron, re.DOTALL).findall(bloque) for scrapedurl, scraped2 in matches: scrapedtitle = scrapedurl scrapedtitle = scrapedtitle.replace(host, "") scrapedtitle = scrapedtitle.replace("episode", "") scrapedtitle = scrapedtitle.replace("/", "").title() scrapedtitle = scrapedtitle + " " + scraped2 itemlist.append( Item(channel=__channel__, action="findvideos", title=scrapedtitle, fulltitle=scrapedtitle, text_color="azure", url=scrapedurl, thumbnail=item.thumbnail)) return itemlist def categorie(item): logger.info("[cinemastreaming.py] categorie") itemlist = [] # Carica la pagina data = httptools.downloadpage(item.url, headers=headers).data # Estrae i contenuti bloque = scrapertools.get_match(data, r'Categorie</a><ul class="sub-menu">(.*?)</ul>') patronvideos = r'<li id="menu-item-.*?category.*?<a href="([^"]+)">([^"]+)</a></li>' matches = re.compile(patronvideos, re.DOTALL).finditer(bloque) for match in matches: itemlist.append( Item(channel=__channel__, action="peliculas", title=match.group(2), text_color="azure", url=match.group(1), thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png", folder=True)) return itemlist # def paesi(item): # logger.info("[cinemastreaming.py] paesi") # itemlist = [] # if item.url == "": # item.url = host # # Carica la pagina # data = httptools.downloadpage(item.url, headers=headers).data # # Estrae i contenuti # patronvideos = r'<li id="menu-item-.*?country.*?<a href="([^"]+)">([^"]+)</a></li>' # matches = re.compile(patronvideos, re.DOTALL).finditer(data) # for match in matches: # itemlist.append( # Item(channel=__channel__, # action="peliculas", # title=match.group(2), # text_color="azure", # url=match.group(1), # thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png", # folder=True)) # return itemlist def listserie(item): # da implementare return None def findvideos(item): logger.info("[cinemastreaming.py] findvideos") # Carica la pagina data = httptools.downloadpage(item.url, headers=headers).data urls = set() if 'trdownload' in data: data = data.replace("&", "&") for url in scrapertools.find_multiple_matches(data, r'href="(%s/\?trdownload[^"]+?)"' % host): url, c = unshorten(url, 'adfly') urls.add(url) itemlist = servertools.find_video_items(data=str(urls) + data) for videoitem in itemlist: videoitem.title = "".join([item.title, '[COLOR green][B]' + videoitem.title + '[/B][/COLOR]']) videoitem.fulltitle = item.fulltitle videoitem.show = item.show videoitem.thumbnail = item.thumbnail videoitem.channel = __channel__ videoitem.contentType = item.contentType videoitem.language = IDIOMAS['Italiano'] # Requerido para Filtrar enlaces if __comprueba_enlaces__: itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) # Requerido para FilterTools itemlist = filtertools.get_links(itemlist, item, list_language) # Requerido para AutoPlay autoplay.start(itemlist, item) if item.contentType != 'episode': if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos': itemlist.append( Item(channel=item.channel, title='[COLOR yellow][B]Aggiungi alla videoteca[/B][/COLOR]', url=item.url, action="add_pelicula_to_library", extra="findvideos", contentTitle=item.contentTitle)) return itemlist def search(item, texto): logger.info("[cinemastreaming.py] " + item.url + " search " + texto) item.url = host + "/?s=" + texto try: if item.extra == "movie": return peliculas(item) if item.extra == "tvshow": return peliculas_tv(item) # Continua la ricerca in caso di errore except: import sys for line in sys.exc_info(): logger.error("%s" % line) return []
Texto modificado
Abrir archivo
# -*- coding: utf-8 -*- # ------------------------------------------------------------ # Ringraziamo Icarus crew # Canale per cinemastreaming # ------------------------------------------------------------ import re from channels import filtertools from core import scrapertools, servertools, httptools from core.item import Item from platformcode import config from core import tmdb host = 'https://cinemastreaming.info' headers = [['Referer', host]] def mainlist(item): log() # Menu Principale itemlist = [Item(channel = item.channel, contentType = 'movie', title = 'Film', url = host + '/film/', action = 'video', thumbnail = '', fanart = '' ), ] return itemlist def video(item): log() itemlist = [] # Creo una lista Vuota # Carica la pagina data = httptools.downloadpage(item.url, headers=headers).data block = scrapertools.find_single_match(data, r'<main>(.*?)<\/main>') block = re.sub('\t|\n', '', block) patron = r'<article.*?class="TPost C">.*?<a href="([^"]+)">.*?src="([^"]+)".*?>.*?<h3 class="Title">([^<]+)<\/h3>(.*?)<\/article>' matches = re.compile(patron, re.DOTALL).findall(block) for scrapedurl, scrapedthumb, scrapedtitle, scrapedinfo in matches: log('Info Block', scrapedinfo) patron = r'<span class="Year">(.*?)<\/span>.*?<span class="Vote.*?">(.*?)<\/span>.*?<div class="Description"><p>(.*?)<\/p>.*?<p class="Genre.*?">(.*?)<\/p><p class="Director.*?">.*?<a.*?>(.*?)<\/a>.*?<p class="Actors.*?">(.*?)<\/p>' info = re.compile(patron, re.DOTALL).findall(scrapedinfo) for year, rating, plot, genre, director, cast in info: genre = scrapertools.find_multiple_matches(genre, r'<a.*?>(.*?)<\/a>') cast = scrapertools.find_multiple_matches(cast, r'<a.*?>(.*?)<\/a>') infoLabels = {} infoLabels['Year'] = year infoLabels['Rating'] = rating infoLabels['Plot'] = plot infoLabels['Genre'] = genre infoLabels['Director'] = director infoLabels['Cast'] = cast itemlist.append( Item(channel=item.channel, action="findvideos", contentType=item.contentType, title=scrapedtitle, fulltitle=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumb, infoLabels = infoLabels, show=scrapedtitle)) return itemlist def log(stringa1="", stringa2=""): import inspect, os from platformcode import logger logger.info("[" + os.path.basename(__file__) + "] - [" + inspect.stack()[1][3] + "] " + str(stringa1) + str(stringa2))
Encontrar la diferencia