Merge remote-tracking branch 'alfa-addon/master'

This commit is contained in:
unknown
2017-09-27 08:21:20 -03:00
185 changed files with 312 additions and 2105 deletions

View File

@@ -7,7 +7,7 @@
<setting type="sep"/>
<setting id="default_action" type="enum" lvalues="30006|30007|30008" label="30005" default="0"/>
<setting id="thumbnail_type" type="enum" lvalues="30011|30012|30200" label="30010" default="2"/>
<setting id="channel_language" type="labelenum" values="all|es|en|it" label="30019" default="all"/>
<setting id="channel_language" type="labelenum" values="all|cast|lat" label="30019" default="all"/>
<setting id="debug" type="bool" label="30003" default="false"/>
<setting label="Uso de servidores" type="lsep"/>
<setting id="resolve_priority" type="enum" label="Método prioritario" values="Free primero|Premium primero|Debriders primero" default="0"/>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.alfa" name="Alfa" version="2.0.6" provider-name="Alfa Addon">
<addon id="plugin.video.alfa" name="Alfa" version="2.1.0" provider-name="Alfa Addon">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
<import addon="script.module.libtorrent" optional="true"/>
@@ -19,11 +19,11 @@
</assets>
<news>[B]Estos son los cambios para esta versión:[/B]
[COLOR green][B]Canales agregados y arreglos[/B][/COLOR]
» pedropolis » cinecalidad
» openload » cloudy
» uptobox ¤ arreglos internos
[COLOR green]Gracias a [COLOR yellow]msdos[/COLOR] y [COLOR yellow]prpeaprendiz[/COLOR] por su colaboración en esta versión[/COLOR]
» canalpelis » hdfull
» xdvideos » playmax
» cinetux » gnula
» flashx » rapidvideo
¤ arreglos internos
</news>
<description lang="es">Navega con Kodi por páginas web para ver sus videos de manera fácil.</description>
<summary lang="en">Browse web pages using Kodi</summary>

View File

@@ -3,7 +3,7 @@
"name": "Allcalidad",
"active": true,
"adult": false,
"language": "es",
"language": ["lat"],
"thumbnail": "https://s22.postimg.org/irnlwuizh/allcalidad1.png",
"banner": "https://s22.postimg.org/9y1athlep/allcalidad2.png",
"version": 1,
@@ -15,8 +15,7 @@
],
"categories": [
"movie",
"direct",
"latino"
"direct"
],
"settings": [
{

View File

@@ -1,7 +1,7 @@
{
"id": "allpeliculas",
"name": "Allpeliculas",
"language": "es",
"language": ["lat"],
"active": true,
"adult": false,
"version": 1,
@@ -31,7 +31,6 @@
"banner": "allpeliculas.png",
"categories": [
"movie",
"latino",
"vos",
"tvshow"
],

View File

@@ -3,7 +3,7 @@
"name": "Alltorrent",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"thumbnail": "http://imgur.com/sLaXHvp.png",
"version": 1,
"changes": [

View File

@@ -3,7 +3,7 @@
"name": "AnimeFLV",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "animeflv.png",
"banner": "animeflv.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Animeflv.ME",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "http://i.imgur.com/x9AdvBx.png",
"banner": "http://i.imgur.com/dTZwCPq.png",
"version": 1,

View File

@@ -3,13 +3,12 @@
"name": "AnimeFLV.RU",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "http://i.imgur.com/5nRR9qq.png",
"banner": "animeflv_ru.png",
"version": 1,
"compatible": {
"python": "2.7.9",
"addon_version": "4.2.1"
"python": "2.7.9"
},
"changes": {
"change": [

View File

@@ -3,7 +3,7 @@
"name": "Animeid",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "animeid.png",
"banner": "animeid.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "AnimesHD",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "https://s21.postimg.org/b43i3ljav/animeshd.png",
"banner": "https://s4.postimg.org/lulxulmql/animeshd-banner.png",
"version": 1,
@@ -22,7 +22,6 @@
}
],
"categories": [
"latino",
"anime"
]
}

View File

@@ -3,7 +3,7 @@
"name": "AniToons TV",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "http://i.imgur.com/9Zu5NBc.png",
"banner": "http://i.imgur.com/JQSXCaB.png",
"version": 1,
@@ -19,7 +19,6 @@
],
"categories": [
"tvshow",
"latino",
"anime"
]
}

View File

@@ -1,7 +1,7 @@
{
"id": "areadocumental",
"name": "Area-Documental",
"language": "es",
"language": ["cast", "lat"],
"adult": false,
"active": true,
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Bajui2",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"thumbnail": "bajui.png",
"banner": "bajui.png",
"fanart": "bajui.png",

View File

@@ -3,7 +3,7 @@
"name": "Beeg",
"active": true,
"adult": true,
"language": "es",
"language": ["*"],
"thumbnail": "beeg.png",
"banner": "beeg.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Bityouth",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"thumbnail": "http://s6.postimg.org/6ash180up/bityoulogo.png",
"banner": "bityouth.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "BorrachodeTorrent",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"thumbnail": "http://imgur.com/BePrYmy.png",
"version": 1,
"changes": [

View File

@@ -3,7 +3,7 @@
"name": "Bricocine",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"thumbnail": "http://s6.postimg.org/9u8m1ep8x/bricocine.jpg",
"banner": "bricocine.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "CanalPelis",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"fanart": "https://raw.githubusercontent.com/Inter95/tvguia/master/thumbnails/canalpelisbg.jpg",
"thumbnail": "http://www.canalpelis.com/wp-content/uploads/2016/11/logo_web.gif",
"banner": "",
@@ -15,7 +15,6 @@
}
],
"categories": [
"latino",
"movie",
"tvshow",
"vos"

View File

@@ -338,7 +338,7 @@ def episodios(item):
itemlist.sort(key=lambda it: int(it.infoLabels['episode']),
reverse=config.get_setting('orden_episodios', __channel__))
tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__)
# Opción "Añadir esta serie a la videoteca"
if config.get_videolibrary_support() and len(itemlist) > 0:
itemlist.append(Item(channel=__channel__, title="Añadir esta serie a la videoteca", url=item.url,

View File

@@ -3,7 +3,7 @@
"name": "Canalporno",
"active": true,
"adult": true,
"language": "es",
"language": ["*"],
"thumbnail": "http://i.imgur.com/gAbPcvT.png?1",
"banner": "canalporno.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Cartoon-Latino",
"active": true,
"adult": false,
"language": "es",
"language": ["lat"],
"thumbnail": "http://i.imgur.com/wk6fRDZ.png",
"banner": "http://i.imgur.com/115c59F.png",
"version": 1,
@@ -14,7 +14,6 @@
}
],
"categories": [
"tvshow",
"latino"
"tvshow"
]
}

View File

@@ -3,7 +3,7 @@
"name": "CiberDocumentales",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "https://s9.postimg.org/secdb5s8v/ciberdocumentales.png",
"banner": "https://s1.postimg.org/sa486z0of/ciberdocumentales_banner.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "CineAsiaEnLinea",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "http://i.imgur.com/5KOU8uy.png?3",
"banner": "cineasiaenlinea.png",
"version": 1,

View File

@@ -1,12 +1,9 @@
{
"id": "cinecalidad",
"name": "CineCalidad",
"compatible": {
"addon_version": "4.3"
},
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "https://s31.postimg.org/puxmvsi7v/cinecalidad.png",
"banner": "https://s32.postimg.org/kihkdpx1x/banner_cinecalidad.png",
"version": 1,
@@ -33,7 +30,6 @@
}
],
"categories": [
"latino",
"movie"
],
"settings": [

View File

@@ -3,7 +3,7 @@
"name": "Cinefox",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"version": 1,
"thumbnail": "cinefox.png",
"banner": "cinefox.png",
@@ -28,7 +28,6 @@
"categories": [
"movie",
"tvshow",
"latino",
"vos"
],
"settings": [

View File

@@ -3,7 +3,7 @@
"name": "CineFoxTV",
"active": true,
"adult": false,
"language": "es",
"language": ["lat"],
"thumbnail": "https://s28.postimg.org/lytn2q1tp/cinefoxtv.png",
"banner": "cinefoxtv.png",
"version": 1,
@@ -22,7 +22,6 @@
}
],
"categories": [
"latino",
"movie"
],
"settings": [

View File

@@ -3,7 +3,7 @@
"name": "CineHindi",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "cinehindi.png",
"banner": "http://i.imgur.com/cau9TVe.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Cinetemagay",
"active": true,
"adult": true,
"language": "es",
"language": ["*"],
"thumbnail": "cinetemagay.png",
"banner": "cinetemagay.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Cinetux",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "cinetux.png",
"banner": "cinetux.png",
"fanart": "cinetux.jpg",
@@ -27,7 +27,6 @@
}
],
"categories": [
"latino",
"direct",
"movie"
],

View File

@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
import urlparse
from core import httptools
from core import scrapertools
from core import servertools
@@ -48,13 +46,11 @@ def mainlist(item):
"/0/Genre.png",
text_color=color1))
url = urlparse.urljoin(CHANNEL_HOST, "genero/documental/")
itemlist.append(item.clone(title="Documentales", text_bold=True, text_color=color2, action=""))
itemlist.append(item.clone(action="peliculas", title=" Novedades", url=url, text_color=color1,
itemlist.append(item.clone(action="peliculas", title=" Novedades", url=CHANNEL_HOST + "genero/documental/", text_color=color1,
thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres"
"/0/Documentaries.png"))
url = urlparse.urljoin(CHANNEL_HOST, "genero/documental/?orderby=title&order=asc&gdsr_order=asc")
itemlist.append(item.clone(action="peliculas", title=" Por orden alfabético", text_color=color1, url=url,
itemlist.append(item.clone(action="peliculas", title=" Por orden alfabético", text_color=color1, url=CHANNEL_HOST + "genero/documental/?orderby=title&order=asc&gdsr_order=asc",
thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres"
"/0/A-Z.png"))
itemlist.append(item.clone(title="", action=""))
@@ -100,7 +96,7 @@ def newest(categoria):
itemlist.pop()
elif categoria == 'documentales':
item.url = urlparse.urljoin(CHANNEL_HOST, "genero/documental/")
item.url = CHANNEL_HOST + "genero/documental/"
item.action = "peliculas"
itemlist = peliculas(item)
@@ -108,7 +104,7 @@ def newest(categoria):
itemlist.pop()
elif categoria == 'infantiles':
item.url = urlparse.urljoin(CHANNEL_HOST, "genero/infantil/")
item.url = CHANNEL_HOST + "genero/infantil/"
item.action = "peliculas"
itemlist = peliculas(item)
@@ -130,7 +126,6 @@ def peliculas(item):
itemlist = []
item.text_color = color2
# Descarga la página
data = httptools.downloadpage(item.url).data
patron = '(?s)class="(?:result-item|item movies)">.*?<img src="([^"]+)'
patron += '.*?alt="([^"]+)"'
@@ -156,11 +151,6 @@ def peliculas(item):
if year:
new_item.infoLabels['year'] = int(year)
itemlist.append(new_item)
try:
# tmdb.set_infoLabels(itemlist, __modo_grafico__)
a = 1
except:
pass
# Extrae el paginador
next_page_link = scrapertools.find_single_match(data, '<link rel="next" href="([^"]+)')
@@ -218,7 +208,6 @@ def generos(item):
scrapedtitle = unicode(scrapedtitle, "utf8").capitalize().encode("utf8")
if scrapedtitle == "Erotico" and config.get_setting("adult_mode") == 0:
continue
itemlist.append(item.clone(action="peliculas", title=scrapedtitle, url=scrapedurl))
return itemlist
@@ -228,9 +217,9 @@ def idioma(item):
logger.info()
itemlist = []
itemlist.append(item.clone(action="peliculas", title="Español", url="http://www.cinetux.net/idioma/espanol/"))
itemlist.append(item.clone(action="peliculas", title="Latino", url="http://www.cinetux.net/idioma/latino/"))
itemlist.append(item.clone(action="peliculas", title="VOSE", url="http://www.cinetux.net/idioma/subtitulado/"))
itemlist.append(item.clone(action="peliculas", title="Español", url= CHANNEL_HOST + "idioma/espanol/"))
itemlist.append(item.clone(action="peliculas", title="Latino", url= CHANNEL_HOST + "idioma/latino/"))
itemlist.append(item.clone(action="peliculas", title="VOSE", url= CHANNEL_HOST + "idioma/subtitulado/"))
return itemlist
@@ -290,7 +279,6 @@ def findvideos(item):
else:
itemlist.append(item.clone(title="No hay enlaces disponibles", action="", text_color=color3))
return itemlist
@@ -342,12 +330,12 @@ def bloque_enlaces(data, filtro_idioma, dict_idiomas, type, item):
if filtro_idioma == 3 or item.filtro:
lista_enlaces.append(item.clone(title=title, action="play", text_color=color2,
url=scrapedurl, server=scrapedserver, idioma=scrapedlanguage,
extra=item.url))
extra=item.url, contentThumbnail = item.thumbnail))
else:
idioma = dict_idiomas[language]
if idioma == filtro_idioma:
lista_enlaces.append(item.clone(title=title, text_color=color2, action="play", url=scrapedurl,
extra=item.url))
extra=item.url, contentThumbnail = item.thumbnail))
else:
if language not in filtrados:
filtrados.append(language)
@@ -363,7 +351,6 @@ def bloque_enlaces(data, filtro_idioma, dict_idiomas, type, item):
def play(item):
logger.info()
itemlist = []
video_urls = []
if "api.cinetux" in item.url:
data = httptools.downloadpage(item.url, headers={'Referer': item.extra}).data.replace("\\", "")
id = scrapertools.find_single_match(data, 'img src="[^#]+#(.*?)"')
@@ -379,15 +366,6 @@ def play(item):
scrapedurl = httptools.downloadpage(scrapedurl, follow_redirects=False, only_headers=True).headers.get(
"location", "")
item.url = scrapedurl
else:
return [item]
itemlist.append(
Item(channel = item.channel,
action = "play",
fulltitle = item.fulltitle,
thumbnail = item.thumbnail,
server = "",
url = item.url
))
itemlist = servertools.get_servers_itemlist(itemlist)
return itemlist
item.thumbnail = item.contentThumbnail
item.server = servertools.get_server_from_url(item.url)
return [item]

View File

@@ -3,7 +3,7 @@
"name": "ClasicoFilm",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"thumbnail": "http://i.imgur.com/F7sevVu.jpg?1",
"banner": "clasicofilm.png",
"version": 1,

View File

@@ -1,7 +1,7 @@
{
"id": "copiapop",
"name": "Copiapop/Diskokosmiko",
"language": "es",
"language": ["cast", "lat"],
"active": true,
"adult": false,
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Crimenes Imperfectos",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"banner": "crimenes.png",
"thumbnail": "crimenes.png",
"version": 1,

View File

@@ -1,7 +1,7 @@
{
"id": "crunchyroll",
"name": "Crunchyroll",
"language": "es",
"language": ["cast", "lat"],
"active": true,
"adult": false,
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Cuelgame",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"version": 1,
"changes": [
{

View File

@@ -3,7 +3,7 @@
"name": "Cumlouder",
"active": true,
"adult": true,
"language": "es",
"language": ["*"],
"thumbnail": "cumlouder.png",
"banner": "cumlouder.png",
"version": 1,

View File

@@ -1,7 +1,7 @@
{
"id": "datoporn",
"name": "DatoPorn",
"language": "es",
"language": ["*"],
"active": true,
"adult": true,
"changes": [

View File

@@ -1,7 +1,7 @@
{
"id": "descargacineclasico",
"name": "descargacineclasico",
"language": "es",
"language": ["cast"],
"active": true,
"adult": false,
"version": 1,

View File

@@ -1,7 +1,7 @@
{
"id": "descargasmix",
"name": "DescargasMIX",
"language": "es",
"language": ["cast", "lat"],
"active": true,
"version": 1,
"adult": false,
@@ -31,7 +31,6 @@
"banner": "descargasmix.png",
"categories": [
"movie",
"latino",
"vos",
"torrent",
"documentary",

View File

@@ -3,7 +3,7 @@
"name": "Discoverymx",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "discoverymx.png",
"banner": "discoverymx.png",
"version": 1,
@@ -18,7 +18,6 @@
}
],
"categories": [
"latino",
"documentary"
]
}

View File

@@ -3,7 +3,7 @@
"name": "Divxatope",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "divxatope.png",
"banner": "divxatope.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Divxtotal",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"thumbnail": "http://imgur.com/Madj03A.jpg",
"version": 1,
"changes": [

View File

@@ -3,7 +3,7 @@
"name": "DocumaniaTV",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "http://i.imgur.com/qMR9sg9.png",
"banner": "documaniatv.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Documentales Online",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "http://i.imgur.com/fsrnC4m.jpg",
"version": 1,
"changes": [

View File

@@ -1,17 +1,13 @@
{
"id": "doomtv",
"name": "doomtv",
"compatible": {
"addon_version": "4.3"
},
"active": true,
"adult": false,
"language": "es",
"language": ["lat"],
"thumbnail": "https://s2.postimg.org/jivgi4ak9/doomtv.png",
"banner": "https://s32.postimg.org/6gxyripvp/doomtv_banner.png",
"version": 1,
"categories": [
"latino",
"movie",
"direct"
],

View File

@@ -3,7 +3,7 @@
"name": "DoramasTV",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "doramastv.png",
"banner": "doramastv.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Descargas",
"active": false,
"adult": false,
"language": "es",
"language": ["*"],
"version": 1,
"changes": [
{

View File

@@ -3,7 +3,7 @@
"name": "Trailers ecartelera",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "ecarteleratrailers.png",
"banner": "ecarteleratrailers.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Elite Torrent",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"thumbnail": "elitetorrent.png",
"banner": "elitetorrent.png",
"version": 2,

View File

@@ -3,7 +3,7 @@
"name": "El señor del anillo",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "elsenordelanillo.png",
"banner": "elsenordelanillo.png",
"version": 1,
@@ -18,7 +18,6 @@
}
],
"categories": [
"latino",
"movie"
]
}

View File

@@ -3,7 +3,7 @@
"name": "Eporner",
"active": true,
"adult": true,
"language": "es",
"language": ["*"],
"thumbnail": "eporner.png",
"banner": "eporner.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Erotik",
"active": true,
"adult": true,
"language": "es",
"language": ["*"],
"thumbnail": "http://www.youfreeporntube.com/uploads/custom-logo.png",
"banner": "http://www.youfreeporntube.com/uploads/custom-logo.png",
"version": 1,

View File

@@ -1,12 +1,9 @@
{
"id": "estadepelis",
"name": "Estadepelis",
"compatible": {
"addon_version": "4.3"
},
"active": true,
"adult": false,
"language": "es",
"language": ["lat"],
"thumbnail": "https://s24.postimg.org/nsgit7fhh/estadepelis.png",
"banner": "https://s28.postimg.org/ud0l032ul/estadepelis_banner.png",
"version": 1,
@@ -33,7 +30,6 @@
}
],
"categories": [
"latino",
"movie"
],
"settings": [

View File

@@ -3,7 +3,7 @@
"name": "EstrenosGo",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"fanart": "https://github.com/master-1970/resources/raw/master/images/fanart/estrenosgo.png",
"thumbnail": "https://github.com/master-1970/resources/raw/master/images/squares/estrenosgo.png",
"banner": "estrenosgo.png",
@@ -24,6 +24,7 @@
],
"categories": [
"movie",
"tvshow"
"tvshow",
"torrent"
]
}

View File

@@ -3,7 +3,7 @@
"name": "Filesmonster Catalogue",
"active": true,
"adult": true,
"language": "es",
"language": ["*"],
"thumbnail": "filesmonster_catalogue.png",
"banner": "filesmonster_catalogue.png",
"version": 1,

View File

@@ -1,7 +1,7 @@
{
"id": "freecambay",
"name": "FreeCamBay",
"language": "es",
"language": ["*"],
"active": true,
"adult": true,
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "gmobi",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"version": 1,
"thumbnail": "http://gnula.mobi/wp-content/uploads/2016/08/Untitled-6.png",
"banner": "",

View File

@@ -1,7 +1,7 @@
# -*- coding: iso-8859-1 -*-
#------------------------------------------------------------
# -*- coding: utf-8 -*-
# ------------------------------------------------------------
# Alfa
#------------------------------------------------------------
# ------------------------------------------------------------
import urlparse,urllib2,urllib,re
import os, sys
@@ -18,11 +18,11 @@ from platformcode import config, logger
def mainlist(item):
logger.info()
itemlist = []
itemlist.append(item.clone(title="Novedades" , action="peliculas", url="http://gnula.mobi/"))
itemlist.append(item.clone(title="Castellano" , action="peliculas",
itemlist.append(item.clone(title="Novedades", action="peliculas", url="http://gnula.mobi/"))
itemlist.append(item.clone(title="Castellano", action="peliculas",
url="http://www.gnula.mobi/tag/esp)anol/"))
itemlist.append(item.clone(title="Latino" , action="peliculas", url="http://gnula.mobi/tag/latino/"))
itemlist.append(item.clone(title="VOSE" , action="peliculas", url="http://gnula.mobi/tag/subtitulada/"))
itemlist.append(item.clone(title="Latino", action="peliculas", url="http://gnula.mobi/tag/latino/"))
itemlist.append(item.clone(title="VOSE", action="peliculas", url="http://gnula.mobi/tag/subtitulada/"))
itemlist.append(item.clone(title="Buscar", action="search"))
return itemlist

View File

@@ -3,7 +3,7 @@
"name": "Gnula",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "gnula.png",
"banner": "gnula.png",
"version": 1,
@@ -18,7 +18,6 @@
}
],
"categories": [
"latino",
"movie"
]
}

View File

@@ -1,24 +1,24 @@
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
import re
import urlparse
from core import httptools
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
host = "http://gnula.nu/"
def mainlist(item):
logger.info()
itemlist = []
itemlist.append(Item(channel=item.channel, title="Estrenos", action="peliculas",
url="http://gnula.nu/peliculas-online/lista-de-peliculas-online-parte-1/", viewmode="movie"))
url= host +"peliculas-online/lista-de-peliculas-online-parte-1/", viewmode="movie"))
itemlist.append(
Item(channel=item.channel, title="Generos", action="generos", url="http://gnula.nu/generos/lista-de-generos/"))
Item(channel=item.channel, title="Generos", action="generos", url= host + "generos/lista-de-generos/"))
itemlist.append(Item(channel=item.channel, title="Recomendadas", action="peliculas",
url="http://gnula.nu/peliculas-online/lista-de-peliculas-recomendadas/", viewmode="movie"))
# itemlist.append( Item(channel=item.channel, title="Portada" , action="portada" , url="http://gnula.nu/"))
url= host + "peliculas-online/lista-de-peliculas-recomendadas/", viewmode="movie"))
return itemlist
@@ -26,23 +26,23 @@ def generos(item):
logger.info()
itemlist = []
data = scrapertools.cache_page(item.url)
# <span style="font-weight: bold;">Lista de géneros</span><br/>
data = httptools.downloadpage(item.url).data
data = scrapertools.find_single_match(data, '<spa[^>]+>Lista de g(.*?)/table')
# <strong>Historia antigua</strong> [<a href="http://gnula.nu/generos/lista-de-peliculas-del-genero-historia-antigua/"
patron = '<strong>([^<]+)</strong> .<a href="([^"]+)"'
matches = re.compile(patron, re.DOTALL).findall(data)
for genero, scrapedurl in matches:
title = scrapertools.htmlclean(genero)
plot = ""
url = urlparse.urljoin(item.url, scrapedurl)
url = item.url + scrapedurl
thumbnail = ""
logger.debug("title=[" + title + "], url=[" + url + "], thumbnail=[" + thumbnail + "]")
itemlist.append(
Item(channel=item.channel, action='peliculas', title=title, url=url, thumbnail=thumbnail, plot=plot,
extra=title, viewmode="movie"))
itemlist.append(Item(channel = item.channel,
action = 'peliculas',
title = title,
url = url,
thumbnail = thumbnail,
plot = plot,
viewmode = "movie"))
itemlist = sorted(itemlist, key=lambda item: item.title)
@@ -52,17 +52,9 @@ def generos(item):
def peliculas(item):
logger.info()
'''
<a class="Ntooltip" href="http://gnula.nu/comedia-romantica/ver-with-this-ring-2015-online/">With This Ring<span><br/>
<img src="http://gnula.nu/wp-content/uploads/2015/06/With_This_Ring2.gif"></span></a> [<span style="color: #33ccff;">18/07/15</span> <span style="color: #33ff33;">(VS)</span><span style="color: red;">(VC)</span><span style="color: #cc66cc;">(VL)</span>] [<span style="color: #ffcc99;">HD-R</span>]&#8212;&#8211;<strong>Comedia, Romántica</strong><br/>
'''
'''
<a class="Ntooltip" href="http://gnula.nu/aventuras/ver-las-aventuras-de-tintin-el-secreto-del-unicornio-2011-online/">The Adventures of Tintin<span><br />
<img src="http://gnula.nu/wp-content/uploads/2015/07/The_Adventures_of_Tintin_Secret_of_the_Unicorn2.gif"></span></a> (2011) [<span style="color: #33ccff;">10/07/15</span> <span style="color: #33ff33;">(VS)</span><span style="color: red;">(VC)</span><span style="color: #cc66cc;">(VL)</span>] [<span style="color: #ffcc99;">DVD-R</span>]&#8212;&#8211;<strong>Animación, Infantil, Aventuras</strong><br />
'''
# Descarga la página
data = scrapertools.cachePage(item.url)
patron = '<a class="Ntooltip" href="([^"]+)">([^<]+)<span><br[^<]+'
data = httptools.downloadpage(item.url).data
patron = '<a class="Ntooltip" href="([^"]+)">([^<]+)<span><br[^<]+'
patron += '<img src="([^"]+)"></span></a>(.*?)<br'
matches = re.compile(patron, re.DOTALL).findall(data)
@@ -70,34 +62,57 @@ def peliculas(item):
for scrapedurl, scrapedtitle, scrapedthumbnail, resto in matches:
plot = scrapertools.htmlclean(resto).strip()
title = scrapedtitle + " " + plot
fulltitle = title
contentTitle = scrapedtitle
url = urlparse.urljoin(item.url, scrapedurl)
thumbnail = urlparse.urljoin(item.url, scrapedthumbnail)
logger.debug("title=[" + title + "], url=[" + url + "], thumbnail=[" + thumbnail + "]")
itemlist.append(Item(channel=item.channel, action='findvideos', title=title, fulltitle=fulltitle, url=url,
thumbnail=thumbnail, plot=plot, extra=title, hasContentDetails=True,
contentTitle=contentTitle, contentThumbnail=thumbnail,
contentType="movie", context=["buscar_trailer"]))
url = item.url + scrapedurl
itemlist.append(Item(channel = item.channel,
action = 'findvideos',
title = title,
url = url,
thumbnail = scrapedthumbnail,
plot = plot,
hasContentDetails = True,
contentTitle = contentTitle,
contentType = "movie",
context = ["buscar_trailer"]
))
return itemlist
def findvideos(item):
logger.info("item=" + item.tostring())
itemlist = []
# Descarga la página para obtener el argumento
data = scrapertools.cachePage(item.url)
data = httptools.downloadpage(item.url).data
item.plot = scrapertools.find_single_match(data, '<div class="entry">(.*?)<div class="iframes">')
item.plot = scrapertools.htmlclean(item.plot).strip()
item.contentPlot = item.plot
patron = 'Ver película online.*?>.*?>([^<]+)'
scrapedopcion = scrapertools.find_single_match(data, patron)
titulo_opcional = scrapertools.find_single_match(scrapedopcion, ".*?, (.*)").upper()
bloque = scrapertools.find_multiple_matches(data, 'contenedor_tab.*?/table')
cuenta = 0
for datos in bloque:
cuenta = cuenta + 1
patron = '<em>(opción %s.*?)</em>' %cuenta
scrapedopcion = scrapertools.find_single_match(data, patron)
titulo_opcion = "(" + scrapertools.find_single_match(scrapedopcion, "op.*?, (.*)").upper() + ")"
if "TRAILER" in titulo_opcion or titulo_opcion == "()":
titulo_opcion = "(" + titulo_opcional + ")"
urls = scrapertools.find_multiple_matches(datos, '(?:src|href)="([^"]+)')
titulo = "Ver en %s " + titulo_opcion
for url in urls:
itemlist.append(Item(channel = item.channel,
action = "play",
contentThumbnail = item.thumbnail,
fulltitle = item.contentTitle,
title = titulo,
url = url
))
itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize())
return itemlist
newthumbnail = scrapertools.find_single_match(data,
'<div class="entry"[^<]+<p align="center"><img alt="[^"]+" src="([^"]+)"')
if newthumbnail != "":
item.thumbnail = newthumbnail
item.contentThumbnail = newthumbnail
logger.info("plot=" + item.plot)
return servertools.find_video_items(item=item, data=data)
def play(item):
item.thumbnail = item.contentThumbnail
return [item]

View File

@@ -3,7 +3,7 @@
"name": "La Guarida valencianista",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"thumbnail": "guaridavalencianista.png",
"banner": "guaridavalencianista.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "HDFull",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "hdfull.png",
"banner": "hdfull.png",
"version": 1,

View File

@@ -427,7 +427,7 @@ def episodios(item):
for episode in episodes:
thumbnail = host + "/thumbs/" + episode['thumbnail']
language = episode['languages']
temporada = episode['season']
episodio = episode['episode']
if len(episodio) == 1: episodio = '0' + episodio
@@ -468,7 +468,8 @@ def episodios(item):
'id'] + ";3"
itemlist.append(Item(channel=item.channel, action="findvideos", title=title, fulltitle=title, url=url,
thumbnail=thumbnail, show=item.show, folder=True, contentType="episode"))
thumbnail=thumbnail, show=item.show, folder=True, contentType="episode",
language=language))
if config.get_videolibrary_support() and len(itemlist) > 0:
itemlist.append(Item(channel=item.channel, title="Añadir esta serie a la videoteca", url=url_targets,

View File

@@ -3,7 +3,7 @@
"name": "HentaiEnEspañol",
"active": true,
"adult": true,
"language": "es",
"language": ["*"],
"thumbnail": "https://s11.postimg.org/cmuwcvvpf/hentaienespanol.png",
"banner": "https://s3.postimg.org/j3qkfut8z/hentaienespanol_banner.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Hentai ID",
"active": true,
"adult": true,
"language": "es",
"language": ["*"],
"thumbnail": "https://dl.dropboxusercontent.com/u/30248079/hentai_id.png",
"banner": "https://dl.dropboxusercontent.com/u/30248079/hentai_id2.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Idocumentales",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "https://s27.postimg.org/pjq3y552b/idocumentales.png",
"banner": "https://s16.postimg.org/6d8bh1z1x/idocumentales_banner.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Inkapelis",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"changes": [
{
"date": "12/03/2017",
@@ -23,8 +23,7 @@
"banner": "inkapelis.png",
"categories": [
"movie",
"vos",
"latino"
"vos"
],
"settings": [
{

View File

@@ -1,7 +1,7 @@
{
"id": "javtasty",
"name": "JavTasty",
"language": "es",
"language": ["*"],
"active": true,
"adult": true,
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "javus.net",
"active": true,
"adult": true,
"language": "es",
"language": ["*"],
"thumbnail": "https://s15.postimg.org/pzd3h4vy3/javus.png",
"banner": "https://s21.postimg.org/5pqzedp2f/javus_banner.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "JKanime",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "jkanime.png",
"banner": "jkanime.png",
"version": 1,

View File

@@ -1,7 +1,7 @@
{
"id": "lacajita",
"name": "LaCajita",
"language": "es",
"language": ["cast", "lat"],
"active": true,
"adult": false,
"version": 1,
@@ -14,7 +14,6 @@
"thumbnail": "http://i.imgur.com/LVdupxc.png",
"categories": [
"movie",
"latino",
"vos"
],
"settings": [

View File

@@ -1,12 +1,9 @@
{
"id": "locopelis",
"name": "LOCOPELIS",
"compatible": {
"addon_version": "4.3"
},
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "https://s31.postimg.org/5worjw2nv/locopelis.png",
"banner": "https://s31.postimg.org/ng87bb9jv/locopelis_banner.png",
"version": 1,
@@ -33,7 +30,6 @@
}
],
"categories": [
"latino",
"movie"
],
"settings": [

View File

@@ -3,7 +3,7 @@
"name": "Maxipelis",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"version": 1,
"thumbnail": "http://www.maxipelis.net/wp-content/uploads/2016/12/applogo.png",
"banner": "",

View File

@@ -1,7 +1,7 @@
# -*- coding: iso-8859-1 -*-
#------------------------------------------------------------
# -*- coding: utf-8 -*-
# ------------------------------------------------------------
# Alfa
#------------------------------------------------------------
# ------------------------------------------------------------
import urlparse,urllib2,urllib,re
import os, sys
@@ -13,10 +13,9 @@ from platformcode import config, logger
from core import httptools
from core import tmdb
host = 'http://www.maxipelis.net'
def mainlist(item):
logger.info()
itemlist = []

View File

@@ -3,7 +3,7 @@
"name": "Mejor Torrent",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"thumbnail": "mejortorrent.png",
"banner": "mejortorrent.png",
"version": 1,

View File

@@ -1,12 +1,9 @@
{
"id": "metaserie",
"name": "MetaSerie (Latino)",
"compatible": {
"addon_version": "4.3"
},
"active": true,
"adult": false,
"language": "es",
"language": ["lat"],
"thumbnail": "https://s32.postimg.org/7g50yo39h/metaserie.png",
"banner": "https://s31.postimg.org/u6yddil8r/metaserie_banner.png",
"version": 1,
@@ -33,7 +30,6 @@
}
],
"categories": [
"latino",
"tvshow"
],
"settings": [

View File

@@ -3,7 +3,7 @@
"name": "Miltorrents",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"version": 1,
"changes": [
{

View File

@@ -3,7 +3,7 @@
"name": "MiraDeTodo",
"active": true,
"adult": false,
"language": "es",
"language": ["lat"],
"thumbnail": "https://s17.postimg.org/e8kp12mcv/miradetodo.png",
"banner": "https://s7.postimg.org/it21t0dej/miradetodo-banner.png",
"version": 1,
@@ -18,7 +18,6 @@
}
],
"categories": [
"latino",
"movie"
],
"settings": [

View File

@@ -1,12 +1,9 @@
{
"id": "mundoflv",
"name": "MundoFlv",
"compatible": {
"addon_version": "4.3"
},
"active": true,
"adult": false,
"language": "es",
"language": ["lat"],
"thumbnail": "https://s32.postimg.org/h1ewz9hhx/mundoflv.png",
"banner": "mundoflv.png",
"version": 1,
@@ -37,7 +34,6 @@
}
],
"categories": [
"latino",
"tvshow"
],
"settings": [

View File

@@ -3,7 +3,7 @@
"name": "Newpct",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"thumbnail": "newpct.png",
"banner": "newpct.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Newpct1",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "newpct1.png",
"banner": "newpct1.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "Novedades",
"active": false,
"adult": false,
"language": "es",
"language": ["*"],
"version": 1,
"changes": [
{

View File

@@ -93,10 +93,7 @@ def get_channels_list():
# Rellenar listas de canales disponibles
channels_path = os.path.join(config.get_runtime_path(), "channels", '*.json')
channel_language = config.get_setting("channel_language")
if channel_language == "":
channel_language = "all"
channel_language = config.get_setting("channel_language", default="all")
for infile in sorted(glob.glob(channels_path)):
channel_id = os.path.basename(infile)[:-5]
@@ -111,7 +108,8 @@ def get_channels_list():
continue
# No incluir si el canal es en un idioma filtrado
if channel_language != "all" and channel_parameters["language"] != channel_language:
if channel_language != "all" and channel_language not in channel_parameters["language"] \
and "*" not in channel_parameters["language"]:
continue
# Incluir en cada categoria, si en su configuracion el canal esta activado para mostrar novedades
@@ -424,10 +422,7 @@ def settings(item):
def setting_channel(item):
channels_path = os.path.join(config.get_runtime_path(), "channels", '*.json')
channel_language = config.get_setting("channel_language")
if channel_language == "":
channel_language = "all"
channel_language = config.get_setting("channel_language", default="all")
list_controls = []
for infile in sorted(glob.glob(channels_path)):
@@ -443,7 +438,8 @@ def setting_channel(item):
continue
# No incluir si el canal es en un idioma filtrado
if channel_language != "all" and channel_parameters["language"] != channel_language:
if channel_language != "all" and channel_language not in channel_parameters["language"] \
and "*" not in channel_parameters["language"]:
continue
# No incluir si en su configuracion el canal no existe 'include_in_newest'

View File

@@ -1,7 +1,7 @@
{
"id": "nuvid",
"name": "Nuvid",
"language": "es",
"language": ["*"],
"active": true,
"adult": true,
"version": 1,

View File

@@ -1,17 +1,13 @@
{
"id": "ohpelis",
"name": "OH-PELIS",
"compatible": {
"addon_version": "4.3"
},
"active": true,
"adult": false,
"language": "es",
"language": ["lat"],
"thumbnail": "https://s28.postimg.org/6v7ig831p/oh-pelis.png",
"banner": "https://s27.postimg.org/bz0fh8jpf/oh-pelis-banner.png",
"version": 1,
"categories": [
"latino",
"movie"
],
"settings": [

View File

@@ -3,7 +3,7 @@
"name": "PasateaTorrent",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"thumbnail": "http://imgur.com/iLeISt0.png",
"banner": "pasateatorrent.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "PedroPolis",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"fanart": "https://scontent-lht6-1.xx.fbcdn.net/v/t31.0-8/21056316_670362456502498_8317422545691005578_o.png?oh=1f13a23a931d82e944a7ec743a19f583&oe=5A599F4D",
"thumbnail": "https://scontent-lht6-1.xx.fbcdn.net/v/t1.0-9/20292600_467501756957771_6794721577753226614_n.jpg?oh=bba1479eccf0adceeb8c0d3450cc2531&oe=5A4EE0F5",
"banner": "",
@@ -15,7 +15,6 @@
}
],
"categories": [
"latino",
"movie",
"tvshow",
"vos"

View File

@@ -3,7 +3,7 @@
"name": "Peliculasaudiolatino",
"active": true,
"adult": false,
"language": "es",
"language": ["lat"],
"thumbnail": "peliculasaudiolatino.png",
"banner": "peliculasaudiolatino.png",
"version": 1,
@@ -22,7 +22,6 @@
}
],
"categories": [
"latino",
"movie"
],
"settings": [

View File

@@ -3,7 +3,7 @@
"name": "PeliculasDK",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"thumbnail": "http://s29.postimg.org/wzw749oon/pldklog.jpg",
"banner": "peliculasdk.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "PeliculasEroticas",
"active": true,
"adult": true,
"language": "es",
"language": ["*"],
"thumbnail": "peliculaseroticas.png",
"banner": "peliculaseroticas.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "PeliculasGratis",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "http://imgur.com/ThH8Zmk.png",
"banner": "peliculasgratis.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "PeliculasHindu",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "peliculashindu.png",
"banner": "peliculashindu.png",
"version": 1,

View File

@@ -3,7 +3,7 @@
"name": "PeliculasMX",
"active": true,
"adult": false,
"language": "es",
"language": ["lat"],
"thumbnail": "peliculasmx.png",
"banner": "peliculasmx.png",
"version": 1,
@@ -18,7 +18,6 @@
}
],
"categories": [
"latino",
"movie"
],
"settings": [

View File

@@ -1,7 +1,7 @@
{
"id": "peliculasnu",
"name": "Peliculas.Nu",
"language": "es",
"language": ["cast", "lat"],
"active": true,
"adult": false,
"version": 1,
@@ -27,8 +27,7 @@
"banner": "peliculasnu.png",
"categories": [
"movie",
"vos",
"latino"
"vos"
],
"settings": [
{

View File

@@ -3,7 +3,7 @@
"name": "peliculasrey",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "peliculasrey.png",
"banner": "peliculasrey.png",
"version": 1,

View File

@@ -1,52 +0,0 @@
{
"id": "pelis24",
"name": "Pelis24",
"active": false,
"adult": false,
"language": "es",
"thumbnail": "pelis24.png",
"banner": "pelis24.png",
"version": 1,
"changes": [
{
"date": "27/04/17",
"description": "Adaptación por cambio de dominio y estructura"
},
{
"date": "01/07/2016",
"description": "Eliminado código innecesario"
}
],
"categories": [
"latino",
"movie",
"vos",
"direct"
],
"settings": [
{
"id": "include_in_global_search",
"type": "bool",
"label": "Incluir en busqueda global",
"default": false,
"enabled": true,
"visible": true
},
{
"id": "include_in_newest_peliculas",
"type": "bool",
"label": "Incluir en Novedades - Peliculas",
"default": true,
"enabled": true,
"visible": true
},
{
"id": "include_in_newest_infantiles",
"type": "bool",
"label": "Incluir en Novedades - Infantiles",
"default": true,
"enabled": true,
"visible": true
}
]
}

View File

@@ -1,215 +0,0 @@
# -*- coding: utf-8 -*-
import re
import sys
from core import httptools
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
from core import tmdb
thumbnail_host = 'https://github.com/master-1970/resources/raw/master/images/squares/pelis24.PNG'
def mainlist(item):
logger.info()
itemlist = []
item.thumbnail = thumbnail_host
item.action = "peliculas"
itemlist.append(item.clone(title="Novedades", url="http://www.pelis24.tv/ultimas-peliculas/"))
itemlist.append(item.clone(title="Estrenos", url="http://pelis24.tv/estrenos/"))
itemlist.append(item.clone(title="Calidad HD", url="https://pelis24.tv/xfsearch/calidad/HD"))
itemlist.append(item.clone(title="Calidad HQ", url="https://pelis24.tv/xfsearch/calidad/HQ"))
itemlist.append(item.clone(title="Calidad SD", url="https://pelis24.tv/xfsearch/calidad/SD"))
itemlist.append(item.clone(title="Castellano", url="http://pelis24.tv/pelicula-ca/"))
itemlist.append(item.clone(title="Latino", url="https://pelis24.tv/pelicula-la/"))
itemlist.append(item.clone(title="Versión original", url="http://pelis24.tv/peliculasvo/"))
itemlist.append(item.clone(title="Versión original subtitulada", url="http://pelis24.tv/peliculas-su/"))
itemlist.append(item.clone(title="Filtrar por género", action="genero", url="http://pelis24.tv"))
itemlist.append(item.clone(title="Buscar", action="search", url="http://www.pelis24.tv/"))
return itemlist
def newest(categoria):
logger.info()
item = Item()
try:
if categoria == 'peliculas':
item.url = "http://www.pelis24.tv/ultimas-peliculas/"
elif categoria == 'infantiles':
item.url = "http://pelis24.tv/tags/Infantil/"
else:
return []
itemlist = peliculas(item)
if itemlist[-1].title == ">> Página siguiente":
itemlist.pop()
# Se captura la excepción, para no interrumpir al canal novedades si un canal falla
except:
for line in sys.exc_info():
logger.error("%s" % line)
return []
return itemlist
def search(item, texto):
logger.info()
try:
item.extra = texto
return buscar(item)
# Se captura la excepci?n, para no interrumpir al buscador global si un canal falla
except:
for line in sys.exc_info():
logger.error("%s" % line)
return []
def buscar(item):
itemlist = []
if not item.page:
item.page = 1
url = "http://pelis24.tv/index.php?do=search&subaction=search&search_start=%s&story=%s" % (
item.page, item.extra.replace(" ", "+"))
data = httptools.downloadpage(url).data
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data)
patron = '<a class="sres-wrap clearfix" href="([^"]+).*?'
patron += '<img src="([^"]+)" alt="([^"]+)"'
matches = re.compile(patron, re.DOTALL).findall(data)
for url, thumbnail, title in matches:
if "/series/" in url:
# Descartamos las series
continue
if not thumbnail.startswith("http"):
thumbnail = "http://www.pelis24.tv" + thumbnail
contentTitle = title.split("/")[0]
itemlist.append(
Item(channel=item.channel, action="findvideos", title=contentTitle, url=url, thumbnail=thumbnail,
contentTitle=contentTitle))
if itemlist:
itemlist.append(item.clone(title=">> Página siguiente", action="buscar", thumbnail=thumbnail_host,
page=item.page + 1))
return itemlist
def genero(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data)
patron = '<li><a href="\/xfsearch\/genero\/([^"]+)"(?: title=".*?").*?(.*?)<\/a><\/li>'
matches = re.compile(patron, re.DOTALL).findall(data)
for scrapedurl, scrapedtitle in matches:
url = '%s/xfsearch/genero/%s' % (item.url, scrapedurl)
itemlist.append(Item(channel=item.channel, action="peliculas", title=scrapedurl,
thumbnail=thumbnail_host, url=url))
return itemlist
def peliculas(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data)
data = scrapertools.find_single_match(data, "dle-content(.*?)not-main clearfix")
patron = '<div class="movie-img img-box">.*?'
patron += '<img src="([^"]+).*?'
patron += 'href="([^"]+).*?'
patron += '<div class="movie-series">(.*?)<\/.*?'
patron += '<a href=[^>]+>([^<]+)</a>'
matches = re.compile(patron, re.DOTALL).findall(data)
for thumbnail, url, title, quality in matches:
if "/series/" in url:
# Descartamos las series
continue
if not thumbnail.startswith("http"):
thumbnail = "http://www.pelis24.tv" + thumbnail
contentTitle = title.split("/")[0]
year = scrapertools.find_single_match(contentTitle, '\((\d{4})\)')
contentTitle= contentTitle.replace (' (%s)'%year, '')
title = "%s (%s)" % (contentTitle, quality)
itemlist.append(
Item(channel=item.channel, action="findvideos", title=title, url=url, thumbnail=thumbnail,
quality=quality, contentTitle=contentTitle, infoLabels = {'year':year}))
if item.title != 'Versión original':
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
# Extrae el paginador
next_page = scrapertools.find_single_match(data, '<span class="pnext".*?<a href="([^"]+)')
if next_page:
itemlist.append(Item(channel=item.channel, action="peliculas", title=">> Página siguiente",
thumbnail=thumbnail_host, url=next_page))
return itemlist
def findvideos(item):
itemlist=[]
duplicated =[]
data = httptools.downloadpage(item.url).data
patron = '<div class="player-box" id="tabs-(\d+)"><iframe data-src="(.*?)".*?allowfullscreen'
matches = re.compile(patron, re.DOTALL).findall(data)
for id, scrapedurl in matches:
lang = scrapertools.find_single_match(data, '<li><a href="#tabs-%s"><img src=".*?" alt="(.*?)".*?\/>'%id)
server = servertools.get_server_from_url(scrapedurl)
title = '%s (%s) (%s)' % (item.title, server, lang)
thumbnail = ''
if 'enlac' in scrapedurl:
if 'google' in scrapedurl:
server = 'gvideo'
elif 'openload' in scrapedurl:
server = 'openload'
title = '%s (%s) (%s)'%(item.title, server, lang)
scrapedurl = scrapedurl.replace('embed','stream')
gdata = httptools.downloadpage(scrapedurl).data
url_list = servertools.findvideosbyserver(gdata, server)
for url in url_list:
if url[1] not in duplicated:
thumbnail = servertools.guess_server_thumbnail(server)
itemlist.append(item.clone(title=title, url=url[1], action='play', server=server,
thumbnail = thumbnail))
duplicated.append(url[1])
elif '.html' in scrapedurl:
url_list = servertools.findvideosbyserver(data, server)
for url in url_list:
if url[1] not in duplicated:
thumbnail = servertools.guess_server_thumbnail(server)
itemlist.append(item.clone(title = title, url=url[1], action='play', server=server,
thumbnail = thumbnail))
duplicated.append(url[1])
else:
url = scrapedurl
if url not in duplicated:
thumbnail = servertools.guess_server_thumbnail(server)
itemlist.append(item.clone(title= title, url=url, action='play', server=server, thumbnail =
thumbnail))
duplicated.append(url)
return itemlist

View File

@@ -3,7 +3,7 @@
"name": "Pelisadicto",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "pelisadicto.png",
"banner": "pelisadicto.png",
"version": 1,
@@ -18,8 +18,7 @@
}
],
"categories": [
"movie",
"latino"
"movie"
],
"settings": [
{

View File

@@ -3,7 +3,7 @@
"name": "Peliscity",
"active": true,
"adult": false,
"language": "es",
"language": ["cast", "lat"],
"thumbnail": "peliscity.png",
"banner": "peliscity.png",
"version": 1,
@@ -19,7 +19,6 @@
],
"categories": [
"movie",
"latino",
"direct",
"VOS"
]

View File

@@ -3,7 +3,7 @@
"name": "Peliscon",
"active": true,
"adult": false,
"language": "es",
"language": ["cast"],
"thumbnail": "http://imgur.com/yTQRPUJ.png",
"version": 1,
"changes": [

Some files were not shown because too many files have changed in this diff Show More