Merge pull request #216 from Alfa-beto/Fixes

4k What?
This commit is contained in:
Alfa
2018-03-09 15:54:16 -05:00
committed by GitHub
31 changed files with 555 additions and 434 deletions
+5 -7
View File
@@ -11,6 +11,7 @@ from core import tmdb
from core import videolibrarytools
from core.item import Item
from platformcode import config, platformtools, logger
from channelselector import get_thumb
host = "http://www.clasicofilm.com/"
# Configuracion del canal
@@ -35,16 +36,13 @@ def mainlist(item):
itemlist.append(item.clone(title="Películas", text_color=color2, action="", text_bold=True))
itemlist.append(item.clone(action="peliculas", title=" Novedades",
url="http://www.clasicofilm.com/feeds/posts/summary?start-index=1&max-results=20&alt=json-in-script&callback=finddatepost",
thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres"
"/0/Directors%20Chair.png",
text_color=color1))
thumbnail=get_thumb('newest', auto=True), text_color=color1))
itemlist.append(item.clone(action="generos", title=" Por géneros", url=host,
thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres"
"/0/Genre.png",
text_color=color1))
thumbnail=get_thumb('genres', auto=True), text_color=color1))
itemlist.append(item.clone(title="", action=""))
itemlist.append(item.clone(action="search", title="Buscar...", text_color=color3))
itemlist.append(item.clone(action="search", title="Buscar...", text_color=color3,
thumbnail=get_thumb('search', auto=True)))
itemlist.append(item.clone(action="configuracion", title="Configurar canal...", text_color="gold", folder=False))
return itemlist
@@ -27,12 +27,14 @@ def mainlist(item):
itemlist = []
itemlist.append(Item(channel=item.channel, title="Últimas agregadas", action="agregadas",
url="http://www.descargacineclasico.net/", viewmode="movie_with_plot"))
url="http://www.descargacineclasico.net/", viewmode="movie_with_plot",
thumbnail=get_thumb('last', auto=True)))
itemlist.append(Item(channel=item.channel, title="Listado por género", action="porGenero",
url="http://www.descargacineclasico.net/"))
url="http://www.descargacineclasico.net/",
thumbnail=get_thumb('genres', auto=True)))
itemlist.append(
Item(channel=item.channel, title="Buscar", action="search", url="http://www.descargacineclasico.net/",
thumbnail=thumb_buscar))
thumbnail=get_thumb('search', auto=True)))
return itemlist
@@ -1,11 +1,11 @@
{
"id": "newpct1",
"name": "Newpct1",
"id": "descargas2020",
"name": "Descargas2020",
"active": true,
"adult": false,
"language": ["cast", "lat"],
"thumbnail": "newpct1.png",
"banner": "newpct1.png",
"thumbnail": "http://descargas2020.com/d20/library/content/template/images/_logod2020.png",
"banner": "",
"categories": [
"movie",
"tvshow",
@@ -28,6 +28,14 @@
"default": true,
"enabled": true,
"visible": true
},
{
"id": "include_in_newest_4k",
"type": "bool",
"label": "Incluir en Novedades - 4K",
"default": true,
"enabled": true,
"visible": true
}
]
}
+223
View File
@@ -0,0 +1,223 @@
# -*- coding: utf-8 -*-
import re
import urllib
import urlparse
from core import servertools
from core import scrapertools
from core.item import Item
from platformcode import logger
from core import httptools
from channelselector import get_thumb
Host='http://descargas2020.com'
def mainlist(item):
logger.info()
itemlist = []
itemlist.append(Item(channel=item.channel, action="submenu", title="Películas",url=Host+"/peliculas/",
thumbnail=get_thumb('movies', auto=True)))
itemlist.append(Item(channel=item.channel, action="submenu", title="Series",url=Host+"/series/",
thumbnail=get_thumb('tvshows', auto=True)))
#itemlist.append(Item(channel=item.channel, action="listado", title="Anime", url=Host+"/anime/",
# viewmode="movie_with_plot"))
#itemlist.append(
# Item(channel=item.channel, action="listado", title="Documentales", url=Host+"/documentales/",
# viewmode="movie_with_plot"))
itemlist.append(Item(channel=item.channel, action="search", title="Buscar", url= Host+'/buscar',
thumbnail=get_thumb('search', auto=True)))
return itemlist
def submenu(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}| ", "", data)
patron = '<li><a href="'+item.url+'"><i.+?<ul>(.+?)<\/ul>' #Filtrado por url
data_cat = scrapertools.find_single_match(data, patron)
patron_cat='<li><a href="(.+?)" title="(.+?)".+?<\/a><\/li>'
matches = scrapertools.find_multiple_matches(data_cat, patron_cat)
for scrapedurl, scrapedtitle in matches:
itemlist.append(item.clone(title=scrapedtitle, url=scrapedurl,action="listado"))
if 'peliculas' in item.url:
new_item = item.clone(title='Peliculas 4K', url=Host+'/buscar', post='q=4k', action='listado2',
pattern='buscar-list')
itemlist.append(new_item)
return itemlist
def listado(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data)
patron_data='<ul class="pelilist">(.+?)</ul>'
data_listado = scrapertools.find_single_match(data, patron_data)
patron_listado='<li><a href="(.+?)" title=".+?"><img src="(.+?)".+?><h2'
if 'Serie' in item.title:
patron_listado+='.+?>'
else:
patron_listado+='>'
patron_listado+='(.+?)<\/h2><span>(.+?)<\/span><\/a><\/li>'
matches = scrapertools.find_multiple_matches(data_listado, patron_listado)
for scrapedurl, scrapedthumbnail,scrapedtitle,scrapedquality in matches:
new_item = item.clone(title=scrapedtitle, url=scrapedurl,thumbnail=scrapedthumbnail, quality=scrapedquality)
if 'Serie' in item.title:
new_item.action="episodios"
new_item.contentSerieName = scrapedtitle
new_item.contentType = 'tvshow'
else:
new_item.action="findvideos"
new_item.contentTitle = scrapedtitle
new_item.contentType = 'movie'
itemlist.append(new_item)
# Página siguiente
patron_pag='<ul class="pagination"><li><a class="current" href=".+?">.+?<\/a>.+?<a href="(.+?)">'
siguiente = scrapertools.find_single_match(data, patron_pag)
itemlist.append(
Item(channel=item.channel, title="[COLOR cyan]Página Siguiente >>[/COLOR]", url=siguiente, action="listado"))
return itemlist
def episodios(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data)
patron_data='<ul class="buscar-list">(.+?)</ul>'
data_listado = scrapertools.find_single_match(data, patron_data)
patron = '<img src="(.+?)" alt=".+?">.+?<div class=".+?">.+?<a href=(.+?)" title=".+?">.+?>Serie.+?>(.+?)<'
matches = scrapertools.find_multiple_matches(data_listado, patron)
for scrapedthumbnail,scrapedurl, scrapedtitle in matches:
if " al " in scrapedtitle:
#action="episodios"
titulo=scrapedurl.split('http')
scrapedurl="http"+titulo[1]
itemlist.append(item.clone(title=scrapedtitle, url=scrapedurl,thumbnail=scrapedthumbnail,
action="findvideos", show=scrapedtitle))
return itemlist
def listado2(item):
logger.info()
itemlist = []
data = re.sub(r"\n|\r|\t|\s{2,}", "", httptools.downloadpage(item.url, post=item.post).data)
data = unicode(data, "iso-8859-1", errors="replace").encode("utf-8")
list_chars = [["ñ", "ñ"]]
for el in list_chars:
data = re.sub(r"%s" % el[0], el[1], data)
try:
get, post = scrapertools.find_single_match(data, '<ul class="pagination">.*?<a class="current" href.*?'
'<a\s*href="([^"]+)"(?:\s*onClick=".*?\'([^"]+)\'.*?")')
except:
post = False
if post:
if "pg" in item.post:
item.post = re.sub(r"pg=(\d+)", "pg=%s" % post, item.post)
else:
item.post += "&pg=%s" % post
pattern = '<ul class="%s">(.*?)</ul>' % item.pattern
data = scrapertools.get_match(data, pattern)
pattern = '<li><a href="(?P<url>[^"]+)".*?<img src="(?P<img>[^"]+)"[^>]+>.*?<h2.*?>\s*(?P<title>.*?)\s*</h2>'
matches = re.compile(pattern, re.DOTALL).findall(data)
for url, thumb, title in matches:
title = scrapertools.htmlclean(title)
title = title.replace("�", "ñ")
# no mostramos lo que no sean videos
if "descargar-juego/" in url or "/varios/" in url:
continue
if ".com/series" in url:
show = title
itemlist.append(Item(channel=item.channel, action="episodios", title=title, url=url, thumbnail=thumb,
context=["buscar_trailer"], show=show))
else:
itemlist.append(Item(channel=item.channel, action="findvideos", title=title, url=url, thumbnail=thumb,
context=["buscar_trailer"]))
if post:
itemlist.append(item.clone(channel=item.channel, action="listado2", title="[COLOR cyan]Página Siguiente >>[/COLOR]",
thumbnail=''))
return itemlist
def search(item, texto):
logger.info("search:" + texto)
# texto = texto.replace(" ", "+")
try:
item.post = "q=%s" % texto
item.pattern = "buscar-list"
itemlist = listado2(item)
return itemlist
# Se captura la excepción, para no interrumpir al buscador global si un canal falla
except:
import sys
for line in sys.exc_info():
logger.error("%s" % line)
return []
def findvideos(item):
logger.info()
itemlist = []
new_item = []
data = httptools.downloadpage(item.url).data
itemlist = servertools.find_video_items(data = data)
url = scrapertools.find_single_match(data, 'location.href = "([^"]+)"')
new_item.append(Item(url = url, title = "Torrent", server = "torrent", action = "play"))
if url != '':
itemlist.extend(new_item)
for it in itemlist:
it.channel = item.channel
return itemlist
def newest(categoria):
logger.info()
itemlist = []
item = Item()
try:
if categoria == 'torrent':
item.url = Host+'/peliculas-hd/'
action = listado(item)
if categoria == '4k':
item.url = Host + '/buscar'
item.post = 'q=4k'
item.pattern = 'buscar-list'
action = listado2(item)
itemlist = action
if itemlist[-1].title == "[COLOR cyan]Página Siguiente >>[/COLOR]":
itemlist.pop()
# Se captura la excepción, para no interrumpir al canal novedades si un canal falla
except:
import sys
for line in sys.exc_info():
logger.error("{0}".format(line))
return []
return itemlist
@@ -51,6 +51,30 @@
"default": true,
"enabled": true,
"visible": true
},
{
"id": "include_in_newest_series",
"type": "bool",
"label": "Incluir en Novedades - series",
"default": true,
"enabled": true,
"visible": true
},
{
"id": "include_in_newest_anime",
"type": "bool",
"label": "Incluir en Novedades - anime",
"default": true,
"enabled": true,
"visible": true
},
{
"id": "include_in_newest_4k",
"type": "bool",
"label": "Incluir en Novedades - 4K",
"default": true,
"enabled": true,
"visible": true
}
]
}
+18 -14
View File
@@ -8,7 +8,7 @@ from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
from channelselector import get_thumb
__modo_grafico__ = config.get_setting("modo_grafico", "descargasmix")
__perfil__ = config.get_setting("perfil", "descargasmix")
@@ -32,16 +32,21 @@ def mainlist(item):
if host_check and host_check.startswith("http"):
config.set_setting("host", host_check, "descargasmix")
itemlist.append(item.clone(title="Películas", action="lista", fanart="http://i.imgur.com/c3HS8kj.png"))
itemlist.append(item.clone(title="Series", action="lista_series", fanart="http://i.imgur.com/9loVksV.png"))
itemlist.append(item.clone(title="Películas", action="lista", fanart="http://i.imgur.com/c3HS8kj.png",
thumbnail=get_thumb('movies', auto=True)))
itemlist.append(item.clone(title="Series", action="lista_series", fanart="http://i.imgur.com/9loVksV.png",
thumbnail=get_thumb('tvshows', auto=True)))
itemlist.append(item.clone(title="Documentales", action="entradas", url="%s/documentales/" % host,
fanart="http://i.imgur.com/Q7fsFI6.png"))
fanart="http://i.imgur.com/Q7fsFI6.png",
thumbnail=get_thumb('documentaries', auto=True)))
itemlist.append(item.clone(title="Anime", action="entradas", url="%s/anime/" % host,
fanart="http://i.imgur.com/whhzo8f.png"))
fanart="http://i.imgur.com/whhzo8f.png",
thumbnail=get_thumb('anime', auto=True)))
itemlist.append(item.clone(title="Deportes", action="entradas", url="%s/deportes/" % host,
fanart="http://i.imgur.com/ggFFR8o.png"))
fanart="http://i.imgur.com/ggFFR8o.png",
thumbnail=get_thumb('deporte', auto=True)))
itemlist.append(item.clone(title="", action=""))
itemlist.append(item.clone(title="Buscar...", action="search"))
itemlist.append(item.clone(title="Buscar...", action="search", thumbnail=get_thumb('search', auto=True)))
itemlist.append(item.clone(action="setting_channel", title="Configurar canal...", text_color="gold", folder=False))
return itemlist
@@ -548,19 +553,18 @@ def newest(categoria):
try:
if categoria == 'torrent':
item.url = host+'/peliculas'
itemlist = entradas(item)
if itemlist[-1].title == ">> Siguiente":
itemlist.pop()
if categoria == 'series':
item.url = host + '/series'
itemlist.extend(entradas(item))
if itemlist[-1].title == ">> Siguiente":
itemlist.pop()
if categoria == '4k':
item.url = host + '/peliculas/4k'
itemlist.extend(entradas(item))
if categoria == 'anime':
item.url = host + '/anime'
itemlist.extend(entradas(item))
if itemlist[-1].title == ">> Siguiente":
+4 -3
View File
@@ -9,6 +9,7 @@ from core import scrapertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
from channelselector import get_thumb
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0'}
host = "http://www.divxtotal.co"
@@ -20,17 +21,17 @@ def mainlist(item):
logger.info()
itemlist = []
itemlist.append(item.clone(title="[COLOR orange][B]Películas[/B][/COLOR]", action="scraper",
url = host + "/peliculas/", thumbnail="http://imgur.com/A4zN3OP.png",
url = host + "/peliculas/", thumbnail=get_thumb('movies', auto=True),
fanart="http://imgur.com/fdntKsy.jpg", contentType="movie"))
itemlist.append(item.clone(title="[COLOR orange][B] Películas HD[/B][/COLOR]", action="scraper",
url = host + "/peliculas-hd/", thumbnail="http://imgur.com/A4zN3OP.png",
fanart="http://imgur.com/fdntKsy.jpg", contentType="movie"))
itemlist.append(itemlist[-1].clone(title="[COLOR orange][B]Series[/B][/COLOR]", action="scraper",
url = host + "/series/", thumbnail="http://imgur.com/GPX2wLt.png",
url = host + "/series/", thumbnail=get_thumb('tvshows', auto=True),
contentType="tvshow"))
itemlist.append(itemlist[-1].clone(title="[COLOR orangered][B]Buscar[/B][/COLOR]", action="search",
thumbnail="http://imgur.com/aiJmi3Z.png"))
thumbnail=get_thumb('search', auto=True)))
return itemlist
@@ -6,6 +6,7 @@ from core import httptools
from core import scrapertools
from core.item import Item
from platformcode import logger
from channelselector import get_thumb
HOST = "http://documentales-online.com/"
@@ -15,15 +16,20 @@ def mainlist(item):
itemlist = list()
itemlist.append(Item(channel=item.channel, title="Novedades", action="listado", url=HOST))
itemlist.append(Item(channel=item.channel, title="Destacados", action="seccion", url=HOST, extra="destacados"))
itemlist.append(Item(channel=item.channel, title="Series Destacadas", action="seccion", url=HOST, extra="series"))
itemlist.append(Item(channel=item.channel, title="Novedades", action="listado", url=HOST,
thumbnail=get_thumb('newest', auto=True)))
itemlist.append(Item(channel=item.channel, title="Destacados", action="seccion", url=HOST, extra="destacados",
thumbnail=get_thumb('hot', auto=True)))
itemlist.append(Item(channel=item.channel, title="Series", action="seccion", url=HOST, extra="series",
thumbnail=get_thumb('tvshows', auto=True)))
itemlist.append(Item(channel=item.channel, title="Categorías", action="categorias", url=HOST,
thumbnail=get_thumb('categories', auto=True)))
# itemlist.append(Item(channel=item.channel, title="Top 100", action="categorias", url=HOST))
# itemlist.append(Item(channel=item.channel, title="Populares", action="categorias", url=HOST))
itemlist.append(Item(channel=item.channel, title="Buscar por:"))
itemlist.append(Item(channel=item.channel, title=" Título", action="search"))
itemlist.append(Item(channel=item.channel, title=" Categorías", action="categorias", url=HOST))
itemlist.append(Item(channel=item.channel, title="Buscar", action="search",
thumbnail=get_thumb('search', auto=True)))
# itemlist.append(Item(channel=item.channel, title=" Series y Temas", action="categorias", url=HOST))
return itemlist
+5 -4
View File
@@ -13,6 +13,7 @@ from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
from channelselector import get_thumb
IDIOMAS = {'latino': 'Latino'}
list_language = IDIOMAS.values()
@@ -62,7 +63,7 @@ def mainlist(item):
itemlist.append(
item.clone(title="Todas",
action="lista",
thumbnail='https://s18.postimg.org/fwvaeo6qh/todas.png',
thumbnail=get_thumb('all', auto=True),
fanart='https://s18.postimg.org/fwvaeo6qh/todas.png',
url='%s%s'%(host,'peliculas/page/1')
))
@@ -70,7 +71,7 @@ def mainlist(item):
itemlist.append(
item.clone(title="Generos",
action="seccion",
thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png',
thumbnail=get_thumb('genres', auto=True),
fanart='https://s3.postimg.org/5s9jg2wtf/generos.png',
url='%s%s' % (host, 'peliculas/page/1'),
))
@@ -78,7 +79,7 @@ def mainlist(item):
itemlist.append(
item.clone(title="Mas Vistas",
action="lista",
thumbnail='https://s9.postimg.org/wmhzu9d7z/vistas.png',
thumbnail=get_thumb('more watched', auto=True),
fanart='https://s9.postimg.org/wmhzu9d7z/vistas.png',
url='%s%s'%(host,'top-imdb/page/1'),
))
@@ -87,7 +88,7 @@ def mainlist(item):
item.clone(title="Buscar",
action="search",
url='http://doomtv.net/?s=',
thumbnail='https://s30.postimg.org/pei7txpa9/buscar.png',
thumbnail=get_thumb('search', auto=True),
fanart='https://s30.postimg.org/pei7txpa9/buscar.png'
))
+9 -9
View File
@@ -10,6 +10,7 @@ from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
from channelselector import get_thumb
host = 'http://www.estadepelis.com/'
headers = [['User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'],
@@ -60,21 +61,20 @@ def mainlist(item):
itemlist.append(item.clone(title="Peliculas",
action="menupeliculas",
thumbnail='https://s8.postimg.org/6wqwy2c2t/peliculas.png',
thumbnail=get_thumb('movies', auto=True),
fanart='https://s8.postimg.org/6wqwy2c2t/peliculas.png'
))
itemlist.append(item.clone(title="Series",
action="lista",
thumbnail='https://s27.postimg.org/iahczwgrn/series.png',
thumbnail=get_thumb('tvshows', auto=True),
fanart='https://s27.postimg.org/iahczwgrn/series.png',
url=host + 'lista-de-series/',
extra='series'
))
itemlist.append(item.clone(title="Doramas",
action="lista",
thumbnail='https://s15.postimg.org/sjcthoa6z/doramas.png',
action="lista", thumbnail=get_thumb('doramas', auto=True),
fanart='https://s15.postimg.org/sjcthoa6z/doramas.png',
url=host + 'lista-de-doramas/',
extra='series'
@@ -82,7 +82,7 @@ def mainlist(item):
itemlist.append(item.clone(title="Documentales",
action="lista",
thumbnail='https://s16.postimg.org/7xjj4bmol/documental.png',
thumbnail=get_thumb('documentaries', auto=True),
fanart='https://s16.postimg.org/7xjj4bmol/documental.png',
url=host + 'lista-de-documentales/',
extra='peliculas'
@@ -91,7 +91,7 @@ def mainlist(item):
itemlist.append(item.clone(title="Buscar",
action="search",
url=host + 'search?q=',
thumbnail='https://s30.postimg.org/pei7txpa9/buscar.png',
thumbnail=get_thumb('search', auto=True),
fanart='https://s30.postimg.org/pei7txpa9/buscar.png'
))
@@ -107,7 +107,7 @@ def menupeliculas(item):
itemlist.append(item.clone(title="Todas",
action="lista",
thumbnail='https://s18.postimg.org/fwvaeo6qh/todas.png',
thumbnail=get_thumb('all', auto=True),
fanart='https://s18.postimg.org/fwvaeo6qh/todas.png',
url=host + 'lista-de-peliculas/',
extra='peliculas'
@@ -115,7 +115,7 @@ def menupeliculas(item):
itemlist.append(item.clone(title="Ultimas",
action="lista",
thumbnail='https://s22.postimg.org/cb7nmhwv5/ultimas.png',
thumbnail=get_thumb('last', auto=True),
fanart='https://s22.postimg.org/cb7nmhwv5/ultimas.png',
url=host,
extra='peliculas'
@@ -123,7 +123,7 @@ def menupeliculas(item):
itemlist.append(item.clone(title="Generos",
action="generos",
thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png',
thumbnail=get_thumb('genres', auto=True),
fanart='https://s3.postimg.org/5s9jg2wtf/generos.png',
url=host,
extra='peliculas'
+9 -4
View File
@@ -5,6 +5,7 @@ from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
from channelselector import get_thumb
host = "http://gnula.nu/"
host_search = "https://www.googleapis.com/customsearch/v1element?key=AIzaSyCVAXiUzRYsML1Pv6RwSG1gunmMikTzQqY&rsz=small&num=20&hl=es&prettyPrint=false&source=gcsc&gss=.es&sig=45e50696e04f15ce6310843f10a3a8fb&cx=014793692610101313036:vwtjajbclpq&q=%s&cse_tok=%s&googlehost=www.google.com&callback=google.search.Search.apiary10745&nocache=1519145965573&start=0"
@@ -15,14 +16,18 @@ def mainlist(item):
logger.info()
itemlist = []
itemlist.append(Item(channel=item.channel, title="Estrenos", action="peliculas",
url= host +"peliculas-online/lista-de-peliculas-online-parte-1/", viewmode="movie"))
url= host +"peliculas-online/lista-de-peliculas-online-parte-1/", viewmode="movie",
thumbnail=get_thumb('premieres', auto=True),))
itemlist.append(
Item(channel=item.channel, title="Generos", action="generos", url= host + "generos/lista-de-generos/"))
Item(channel=item.channel, title="Generos", action="generos", url= host + "generos/lista-de-generos/",
thumbnail=get_thumb('genres', auto=True),))
itemlist.append(Item(channel=item.channel, title="Recomendadas", action="peliculas",
url= host + "peliculas-online/lista-de-peliculas-recomendadas/", viewmode="movie"))
url= host + "peliculas-online/lista-de-peliculas-recomendadas/", viewmode="movie",
thumbnail=get_thumb('recomended', auto=True),))
itemlist.append(Item(channel = item.channel, action = ""))
itemlist.append(
Item(channel=item.channel, title="Buscar", action="search", url = host_search))
Item(channel=item.channel, title="Buscar", action="search", url = host_search,
thumbnail=get_thumb('search', auto=True),))
return itemlist
+2 -2
View File
@@ -17,8 +17,8 @@ __modo_grafico__ = config.get_setting('modo_grafico', 'grantorrent')
def mainlist(item):
logger.info()
thumb_movie = get_thumb("channels_movie.png")
thumb_tvshow = get_thumb("channels_tvshow.png")
thumb_movie = get_thumb("movies", auto=True)
thumb_tvshow = get_thumb("tvshows", auto=True)
itemlist = list()
itemlist.append(
+7 -3
View File
@@ -12,6 +12,7 @@ from core import servertools
from core.item import Item
from platformcode import config, logger
from platformcode import platformtools
from channelselector import get_thumb
host = "https://hdfull.me"
@@ -43,9 +44,12 @@ def login():
def mainlist(item):
logger.info()
itemlist = []
itemlist.append(Item(channel=item.channel, action="menupeliculas", title="Películas", url=host, folder=True))
itemlist.append(Item(channel=item.channel, action="menuseries", title="Series", url=host, folder=True))
itemlist.append(Item(channel=item.channel, action="search", title="Buscar..."))
itemlist.append(Item(channel=item.channel, action="menupeliculas", title="Películas", url=host, folder=True,
thumbnail=get_thumb('movies', auto=True),))
itemlist.append(Item(channel=item.channel, action="menuseries", title="Series", url=host, folder=True,
thumbnail=get_thumb('tvshows', auto=True),))
itemlist.append(Item(channel=item.channel, action="search", title="Buscar...",
thumbnail=get_thumb('search', auto=True),))
if not account:
itemlist.append(Item(channel=item.channel, title="[COLOR orange][B]Habilita tu cuenta para activar los items de usuario...[/B][/COLOR]",
action="settingCanal", url=""))
@@ -1,30 +0,0 @@
{
"id": "idocumentales",
"name": "Idocumentales",
"active": true,
"adult": false,
"language": ["cast", "lat"],
"thumbnail": "https://s27.postimg.org/pjq3y552b/idocumentales.png",
"banner": "https://s16.postimg.org/6d8bh1z1x/idocumentales_banner.png",
"categories": [
"documentary"
],
"settings": [
{
"id": "include_in_global_search",
"type": "bool",
"label": "Incluir en busqueda global",
"default": true,
"enabled": true,
"visible": true
},
{
"id": "include_in_newest_documentales",
"type": "bool",
"label": "Incluir en Novedades - Documentales",
"default": true,
"enabled": true,
"visible": true
}
]
}
-147
View File
@@ -1,147 +0,0 @@
# -*- coding: utf-8 -*-
import re
from core import httptools
from core import scrapertools
from core import tmdb
from core.item import Item
from platformcode import logger
host = 'http://www.idocumentales.net'
def mainlist(item):
logger.info()
itemlist = []
itemlist.append(item.clone(title="Todas", action="lista", thumbnail='https://s18.postimg.org/fwvaeo6qh/todas.png',
fanart='https://s18.postimg.org/fwvaeo6qh/todas.png', url=host))
itemlist.append(Item(channel=item.channel, title="Generos", action="generos", url=host,
thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png',
fanart='https://s3.postimg.org/5s9jg2wtf/generos.png'))
itemlist.append(Item(channel=item.channel, title="Buscar", action="search", url=host + '/?s=',
thumbnail='https://s30.postimg.org/pei7txpa9/buscar.png',
fanart='https://s30.postimg.org/pei7txpa9/buscar.png'))
return itemlist
def lista(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r'"|\n|\r|\t|&nbsp;|<br>|\s{2,}', "", data)
patron = '<div class=item><a href=(.*?) title=(.*?)\(.*?\)><div class=img><img src=(.*?) alt=.*?'
patron += '<span class=player><\/span><span class=year>(.*?)<\/span><span class=calidad>(.*?)<\/span><\/div>'
matches = re.compile(patron, re.DOTALL).findall(data)
for scrapedurl, scrapedtitle, scrapedthumbnail, scrapedyear, calidad in matches:
url = scrapedurl
thumbnail = scrapedthumbnail
plot = ''
contentTitle = scrapedtitle
title = contentTitle + ' (' + calidad + ')'
year = scrapedyear
fanart = ''
itemlist.append(
Item(channel=item.channel, action='findvideos', title=title, url=url, thumbnail=thumbnail, plot=plot,
fanart=fanart, contentTitle=contentTitle, infoLabels={'year': year}))
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
# Paginacion
if itemlist != []:
actual_page_url = item.url
next_page = scrapertools.find_single_match(data, '<link rel=next href=(.*?) \/>')
if next_page != '':
itemlist.append(Item(channel=item.channel, action="lista", title='Siguiente >>>', url=next_page,
thumbnail='https://s16.postimg.org/9okdu7hhx/siguiente.png'))
return itemlist
def generos(item):
logger.info()
itemlist = []
duplicado = []
data = httptools.downloadpage(item.url).data
data = re.sub(r'"|\n|\r|\t|&nbsp;|<br>|\s{2,}', "", data)
patron = '<li id=menu-item-.*? class=menu-item menu-item-type-taxonomy menu-item-object-category menu-item-.*?><a href=(.*?)>(.*?)<\/a><\/li>'
matches = re.compile(patron, re.DOTALL).findall(data)
for scrapedurl, scrapedtitle in matches:
thumbnail = ''
fanart = ''
title = scrapedtitle
url = scrapedurl
if url not in duplicado:
itemlist.append(Item(channel=item.channel, action="lista", title=title, fulltitle=item.title, url=url,
thumbnail=thumbnail, fanart=fanart))
duplicado.append(url)
return itemlist
def busqueda(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r'"|\n|\r|\t|&nbsp;|<br>|\s{2,}', "", data)
patron = '<li class=s-item><div class=s-img><img class=imx style=margin-top:0px; src=(.*?) alt=(.*?)><span><\/span><\/div><div class=s-box>.*?'
patron += '<h3><a href=(.*?)>.*?<\/a><\/h3><span class=year>(.*?)<\/span><p>(.*?)<\/p>'
matches = re.compile(patron, re.DOTALL).findall(data)
scrapertools.printMatches(matches)
for scrapedthumbnail, scrapedtitle, scrapedurl, scrapedyear, scrapedplot in matches:
url = scrapedurl
title = scrapertools.decodeHtmlentities(scrapedtitle)
thumbnail = scrapedthumbnail
plot = scrapedplot
year = scrapedyear
itemlist.append(
Item(channel=item.channel, action="findvideos", title=title, fulltitle=title, url=url, thumbnail=thumbnail,
plot=plot, contentSerieName=title, infoLabels={'year': year}))
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
# Paginacion
if itemlist != []:
actual_page_url = item.url
next_page = scrapertools.find_single_match(data, '<link rel=next href=(.*?) \/>')
if next_page != '':
itemlist.append(Item(channel=item.channel, action="busqueda", title='Siguiente >>>', url=next_page,
thumbnail='https://s16.postimg.org/9okdu7hhx/siguiente.png'))
return itemlist
def search(item, texto):
logger.info()
texto = texto.replace(" ", "+")
item.url = item.url + texto
if texto != '':
return busqueda(item)
def newest(categoria):
logger.info()
itemlist = []
item = Item()
try:
if categoria == 'documentales':
item.url = host
itemlist = lista(item)
if itemlist[-1].title == 'Siguiente >>>':
itemlist.pop()
except:
import sys
for line in sys.exc_info():
logger.error("{0}".format(line))
return []
return itemlist
+6 -5
View File
@@ -8,7 +8,7 @@ from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
from channelselector import get_thumb
__modo_grafico__ = config.get_setting("modo_grafico", "inkapelis")
__perfil__ = config.get_setting("perfil", "inkapelis")
@@ -24,11 +24,12 @@ def mainlist(item):
itemlist = []
itemlist.append(item.clone(title="Novedades", action="entradas", url="http://www.inkapelis.com/",
extra="Novedades", text_color=color1))
extra="Novedades", text_color=color1, thumbnail=get_thumb('newest', auto=True)))
itemlist.append(item.clone(title="Estrenos", action="entradas", url="http://www.inkapelis.com/genero/estrenos/",
text_color=color1))
itemlist.append(item.clone(title="Géneros", action="generos", url="http://www.inkapelis.com/", text_color=color1))
itemlist.append(item.clone(title="Buscar...", action="search", text_color=color1))
text_color=color1, thumbnail=get_thumb('premieres', auto=True)))
itemlist.append(item.clone(title="Géneros", action="generos", url="http://www.inkapelis.com/", text_color=color1,
thumbnail=get_thumb('genres', auto=True),))
itemlist.append(item.clone(title="Buscar...", action="", text_color=color1))
itemlist.append(item.clone(action="", title=""))
itemlist.append(
item.clone(action="filtro", title="Filtrar películas", url="http://www.inkapelis.com/?s=", text_color=color1))
+11 -12
View File
@@ -10,7 +10,7 @@ from core import scrapertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
from channelselector import get_thumb
IDIOMAS = {'Latino': 'Latino', 'Español': 'Español', 'Sub español': 'VOS'}
list_language = IDIOMAS.values()
list_quality = []
@@ -33,7 +33,7 @@ def mainlist(item):
title="Peliculas",
action="todas",
url=host,
thumbnail='https://s8.postimg.org/6wqwy2c2t/peliculas.png',
thumbnail=get_thumb('movies', auto=True),
fanart='https://s8.postimg.org/6wqwy2c2t/peliculas.png'
))
@@ -41,15 +41,14 @@ def mainlist(item):
title="Generos",
action="generos",
url=host,
thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png',
thumbnail=get_thumb('genres', auto=True),
fanart='https://s3.postimg.org/5s9jg2wtf/generos.png'
))
itemlist.append(Item(channel=item.channel,
title="Alfabetico",
action="letras",
url=host,
thumbnail='https://s17.postimg.org/fwi1y99en/a-z.png',
url=host, thumbnail=get_thumb('alphabet', auto=True),
fanart='https://s17.postimg.org/fwi1y99en/a-z.png',
extra='letras'
))
@@ -57,8 +56,7 @@ def mainlist(item):
itemlist.append(Item(channel=item.channel,
title="Ultimas Agregadas",
action="ultimas",
url=host,
thumbnail='https://s22.postimg.org/cb7nmhwv5/ultimas.png',
url=host, thumbnail=get_thumb('last', auto=True),
fanart='https://s22.postimg.org/cb7nmhwv5/ultimas.png'
))
@@ -66,7 +64,7 @@ def mainlist(item):
title="Mas Vistas",
action="todas",
url=host + 'pelicula/peliculas-mas-vistas',
thumbnail='https://s9.postimg.org/wmhzu9d7z/vistas.png',
thumbnail=get_thumb('more watched', auto=True),
fanart='https://s9.postimg.org/wmhzu9d7z/vistas.png'
))
@@ -74,7 +72,7 @@ def mainlist(item):
title="Mas Votadas",
action="todas",
url=host + 'pelicula/peliculas-mas-votadas',
thumbnail='https://s7.postimg.org/9kg1nthzf/votadas.png',
thumbnail=get_thumb('more voted', auto=True),
fanart='https://s7.postimg.org/9kg1nthzf/votadas.png'
))
@@ -82,7 +80,7 @@ def mainlist(item):
title="Estrenos DVD",
action="todas",
url=host + 'pelicula/ultimas-peliculas/estrenos-dvd',
thumbnail='https://s1.postimg.org/m89hus1tb/dvd.png',
thumbnail=get_thumb('premieres', auto=True),
fanart='https://s1.postimg.org/m89hus1tb/dvd.png'
))
@@ -90,7 +88,7 @@ def mainlist(item):
title="Actualizadas",
action="todas",
url=host + 'pelicula/ultimas-peliculas/ultimas/actualizadas',
thumbnail='https://s16.postimg.org/57evw0wo5/actualizadas.png',
thumbnail=get_thumb('updated', auto=True),
fanart='https://s16.postimg.org/57evw0wo5/actualizadas.png'
))
@@ -98,7 +96,7 @@ def mainlist(item):
title="Buscar",
action="search",
url=host + '/buscar/?q=',
thumbnail='https://s30.postimg.org/pei7txpa9/buscar.png',
thumbnail=get_thumb('search', auto=True),
fanart='https://s30.postimg.org/pei7txpa9/buscar.png'
))
@@ -357,6 +355,7 @@ def findvideos(item):
videoitem.extra = item.thumbnail
videoitem.fulltitle = item.title
videoitem.quality = 'default'
videoitem.infoLabels = item.infoLabels
# Requerido para FilterTools
+5 -4
View File
@@ -12,6 +12,7 @@ from core import tmdb
from core.item import Item
from core.scrapertools import decodeHtmlentities as dhe
from platformcode import config, logger
from channelselector import get_thumb
def mainlist(item):
@@ -23,20 +24,20 @@ def mainlist(item):
itemlist = []
itemlist.append(Item(channel=item.channel, title="[COLOR yellow][B]Películas[/B][/COLOR]", action="peliculas",
url="http://www.miltorrents.com", thumbnail="http://imgur.com/46ZzwrZ.png",
url="http://www.miltorrents.com", thumbnail=get_thumb('movies', auto=True),
fanart="http://imgur.com/y4nJyZh.jpg"))
title = "[COLOR firebrick][B]Buscar[/B][/COLOR]" + " " + "[COLOR yellow][B]Peliculas[/B][/COLOR]"
itemlist.append(Item(channel=item.channel, title=" " + title, action="search", url="",
thumbnail="http://imgur.com/JdSnBeH.png", fanart="http://imgur.com/gwjawWV.jpg",
thumbnail=get_thumb('search', auto=True), fanart="http://imgur.com/gwjawWV.jpg",
extra="peliculas" + "|" + check_bg))
itemlist.append(Item(channel=item.channel, title="[COLOR slategray][B]Series[/B][/COLOR]", action="peliculas",
url="http://www.miltorrents.com/series", thumbnail="http://imgur.com/sYpu1KF.png",
url="http://www.miltorrents.com/series", thumbnail=get_thumb('tvshows', auto=True),
fanart="http://imgur.com/LwS32zX.jpg"))
title = "[COLOR firebrick][B]Buscar[/B][/COLOR]" + " " + "[COLOR slategray][B]Series[/B][/COLOR]"
itemlist.append(Item(channel=item.channel, title=" " + title, action="search", url="",
thumbnail="http://imgur.com/brMIPlT.png", fanart="http://imgur.com/ecPmzDj.jpg",
thumbnail=get_thumb('search', auto=True), fanart="http://imgur.com/ecPmzDj.jpg",
extra="series" + "|" + check_bg))
return itemlist
+11 -11
View File
@@ -8,6 +8,7 @@ from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
from channelselector import get_thumb
tgenero = {"Comedia": "https://s7.postimg.org/ne9g9zgwb/comedia.png",
"Suspense": "https://s13.postimg.org/wmw6vl1cn/suspenso.png",
@@ -50,18 +51,18 @@ def mainlist(item):
itemlist.append(item.clone(title="Peliculas",
action="menu_peliculas",
thumbnail='https://s8.postimg.org/6wqwy2c2t/peliculas.png',
thumbnail=get_thumb('movies', auto=True),
fanart='https://s8.postimg.org/6wqwy2c2t/peliculas.png'
))
itemlist.append(item.clone(title="Series",
action="menu_series",
thumbnail='https://s27.postimg.org/iahczwgrn/series.png',
thumbnail=get_thumb('tvshows', auto=True),
fanart='https://s27.postimg.org/iahczwgrn/series.png',
))
itemlist.append(item.clone(title="Buscar", action="search",
thumbnail='https://s30.postimg.org/pei7txpa9/buscar.png',
thumbnail=get_thumb('search', auto=True),
fanart='https://s30.postimg.org/pei7txpa9/buscar.png',
url=host + '?s='
))
@@ -76,7 +77,7 @@ def menu_peliculas(item):
itemlist.append(item.clone(title="Todas",
action="lista",
thumbnail='https://s18.postimg.org/fwvaeo6qh/todas.png',
thumbnail=get_thumb('all', auto=True),
fanart='https://s18.postimg.org/fwvaeo6qh/todas.png',
url=host + 'page/1/?s'
))
@@ -84,7 +85,7 @@ def menu_peliculas(item):
itemlist.append(item.clone(title="Generos",
action="seccion",
url=host + 'page/1/?s',
thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png',
thumbnail=get_thumb('genres', auto=True),
fanart='https://s3.postimg.org/5s9jg2wtf/generos.png',
seccion='generos-pelicula'
))
@@ -92,7 +93,7 @@ def menu_peliculas(item):
itemlist.append(item.clone(title="Por Año",
action="seccion",
url=host + 'page/1/?s',
thumbnail='https://s8.postimg.org/7eoedwfg5/pora_o.png',
thumbnail=get_thumb('year', auto=True),
fanart='https://s8.postimg.org/7eoedwfg5/pora_o.png',
seccion='fecha-estreno'
))
@@ -100,7 +101,7 @@ def menu_peliculas(item):
itemlist.append(item.clone(title="Calidad",
action="seccion",
url=host + 'page/1/?s',
thumbnail='https://s13.postimg.org/6nzv8nlkn/calidad.png',
thumbnail=get_thumb('quality', auto=True),
fanart='https://s13.postimg.org/6nzv8nlkn/calidad.png',
seccion='calidad'
))
@@ -114,8 +115,7 @@ def menu_series(item):
itemlist = []
itemlist.append(item.clone(title="Todas",
action="lista",
thumbnail='https://s18.postimg.org/fwvaeo6qh/todas.png',
action="lista", thumbnail=get_thumb('all', auto=True),
fanart='https://s18.postimg.org/fwvaeo6qh/todas.png',
url=host + 'series/page/1/',
))
@@ -123,7 +123,7 @@ def menu_series(item):
itemlist.append(item.clone(title="Generos",
action="seccion",
url=host + 'series/page/1/',
thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png',
thumbnail=get_thumb('genres', auto=True),
fanart='https://s3.postimg.org/5s9jg2wtf/generos.png',
seccion='generos-serie'
))
@@ -131,7 +131,7 @@ def menu_series(item):
itemlist.append(item.clone(title="Por Año",
action="seccion",
url=host + 'series/page/1/',
thumbnail='https://s8.postimg.org/7eoedwfg5/pora_o.png',
thumbnail=get_thumb('year', auto=True),
fanart='https://s8.postimg.org/7eoedwfg5/pora_o.png',
seccion='series-lanzamiento'
))
@@ -1,11 +1,11 @@
{
"id": "divxatope",
"name": "Divxatope",
"id": "mispelisyseries",
"name": "Mispelisyseries",
"active": true,
"adult": false,
"language": ["cast", "lat"],
"thumbnail": "divxatope.png",
"banner": "divxatope.png",
"thumbnail": "http://mispelisyseries.com/mps/library/content/template_mps/images/logomps.png",
"banner": "",
"categories": [
"torrent",
"movie",
@@ -43,6 +43,14 @@
"default": true,
"enabled": true,
"visible": true
},
{
"id": "include_in_newest_4k",
"type": "bool",
"label": "Incluir en Novedades - 4K",
"default": true,
"enabled": true,
"visible": true
}
]
}
@@ -9,18 +9,20 @@ from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
from channelselector import get_thumb
host = 'http://mispelisyseries.com/'
def mainlist(item):
logger.info()
itemlist = []
itemlist.append(Item(channel=item.channel, action="menu", title="Películas", url="http://www.divxatope1.com/",
extra="Peliculas", folder=True))
itemlist.append(Item(channel=item.channel, action="menu", title="Películas", url=host,
extra="Peliculas", folder=True, thumbnail=get_thumb('movies', auto=True)))
itemlist.append(
Item(channel=item.channel, action="menu", title="Series", url="http://www.divxatope1.com", extra="Series",
folder=True))
itemlist.append(Item(channel=item.channel, action="search", title="Buscar..."))
Item(channel=item.channel, action="menu", title="Series", url=host, extra="Series",
folder=True, thumbnail=get_thumb('tvshows', auto=True)))
itemlist.append(Item(channel=item.channel, action="search", title="Buscar", url=host + 'buscar',
thumbnail=get_thumb('search', auto=True)))
return itemlist
@@ -44,61 +46,64 @@ def menu(item):
plot = ""
itemlist.append(Item(channel=item.channel, action="lista", title=title, url=url, thumbnail=thumbnail, plot=plot,
folder=True))
if title != "Todas las Peliculas":
itemlist.append(
Item(channel=item.channel, action="alfabetico", title=title + " [A-Z]", url=url, thumbnail=thumbnail,
plot=plot, folder=True))
if item.extra == "Peliculas":
title = "4k UltraHD"
url = "http://divxatope1.com/peliculas-hd/4kultrahd/"
thumbnail = ""
plot = ""
itemlist.append(Item(channel=item.channel, action="lista", title=title, url=url, thumbnail=thumbnail, plot=plot,
folder=True))
itemlist.append(
Item(channel=item.channel, action="alfabetico", title=title + " [A-Z]", url=url, thumbnail=thumbnail,
plot=plot,
folder=True))
if 'películas' in item.title.lower():
new_item = item.clone(title='Peliculas 4K', url=host+'buscar', post='q=4k', action='listado2',
pattern='buscar-list')
itemlist.append(new_item)
return itemlist
def search(item, texto):
logger.info()
texto = texto.replace(" ", "+")
item.url = "http://www.divxatope1.com/buscar/descargas"
item.extra = urllib.urlencode({'q': texto})
logger.info("search:" + texto)
# texto = texto.replace(" ", "+")
try:
itemlist = lista(item)
#try:
item.post = "q=%s" % texto
item.pattern = "buscar-list"
itemlist = listado2(item)
# Esta pagina coloca a veces contenido duplicado, intentamos descartarlo
dict_aux = {}
for i in itemlist:
if not i.url in dict_aux:
dict_aux[i.url] = i
else:
itemlist.remove(i)
return itemlist
# Se captura la excepci?n, para no interrumpir al buscador global si un canal falla
except:
import sys
for line in sys.exc_info():
logger.error("%s" % line)
return []
return itemlist
# Se captura la excepción, para no interrumpir al buscador global si un canal falla
# except:
# import sys
# for line in sys.exc_info():
# logger.error("%s" % line)
# return []
def newest(categoria):
itemlist = []
item = Item()
try:
if categoria in ['peliculas', 'torrent']:
item.url = "http://www.divxatope1.com/peliculas"
item.url = host+"peliculas"
elif categoria == 'series':
item.url = "http://www.divxatope1.com/series"
item.url = host+"series"
if categoria == '4k':
item.url = Host + '/buscar'
item.post = 'q=4k'
item.pattern = 'buscar-list'
action = listado2(item)
else:
return []
@@ -180,7 +185,7 @@ def lista(item):
matches = re.compile(patron, re.DOTALL).findall(calidad + '<br>')
idioma = ''
if "divxatope1.com/serie" in url:
if host+"/serie" in url:
contentTitle = re.sub('\s+-|\.{3}$', '', contentTitle)
capitulo = ''
temporada = 0
@@ -220,6 +225,62 @@ def lista(item):
return itemlist
def listado2(item):
logger.info()
itemlist = []
data = re.sub(r"\n|\r|\t|\s{2,}", "", httptools.downloadpage(item.url, post=item.post).data)
data = unicode(data, "iso-8859-1", errors="replace").encode("utf-8")
list_chars = [["ñ", "ñ"]]
for el in list_chars:
data = re.sub(r"%s" % el[0], el[1], data)
try:
get, post = scrapertools.find_single_match(data, '<ul class="pagination">.*?<a class="current" href.*?'
'<a\s*href="([^"]+)"(?:\s*onClick=".*?\'([^"]+)\'.*?")')
except:
post = False
if post:
if "pg" in item.post:
item.post = re.sub(r"pg=(\d+)", "pg=%s" % post, item.post)
else:
item.post += "&pg=%s" % post
pattern = '<ul class="%s">(.*?)</ul>' % item.pattern
data = scrapertools.get_match(data, pattern)
logger.debug(data)
pattern = '<a href="(?P<url>[^"]+)".*?<img.*?src="(?P<img>[^"]+)"[^>]+>.*?<h2.*?>\s*(?P<title>.*?)\s*</h2>'
matches = re.compile(pattern, re.DOTALL).findall(data)
for url, thumb, title in matches:
title = scrapertools.htmlclean(title)
title = title.replace("�", "ñ")
# no mostramos lo que no sean videos
if "descargar-juego/" in url or "/varios/" in url:
continue
if ".com/series" in url:
show = title
itemlist.append(Item(channel=item.channel, action="episodios", title=title, url=url, thumbnail=thumb,
context=["buscar_trailer"], show=show))
else:
itemlist.append(Item(channel=item.channel, action="findvideos", title=title, url=url, thumbnail=thumb,
context=["buscar_trailer"]))
if post:
itemlist.append(item.clone(channel=item.channel, action="listado2", title="[COLOR cyan]Página Siguiente >>[/COLOR]",
thumbnail=''))
return itemlist
def episodios(item):
logger.info()
itemlist = []
@@ -262,10 +323,9 @@ def findvideos(item):
item.contentPlot = item.plot
al_url_fa = scrapertools.find_single_match(data, 'location\.href.*?=.*?"http:\/\/(?:tumejorserie|tumejorjuego).*?link=(.*?)"')
if al_url_fa == "":
al_url_fa = scrapertools.find_single_match(data,
'location\.href.*?=.*?"http:\/\/divxatope1.com/(.*?)"')
al_url_fa = scrapertools.find_single_match(data, 'location\.href.*?=.*?"%s(.*?)" ' % host)
if al_url_fa != "":
al_url_fa = "http://www.divxatope1.com/" + al_url_fa
al_url_fa = host + al_url_fa
logger.info("torrent=" + al_url_fa)
itemlist.append(
Item(channel=item.channel, action="play", server="torrent", title="Vídeo en torrent", fulltitle=item.title,
@@ -339,3 +399,4 @@ def play(item):
itemlist = [item]
return itemlist
+3 -1
View File
@@ -11,6 +11,7 @@ from core import servertools
from core.item import Item
from core import httptools
from channels import autoplay
from channelselector import get_thumb
host = "http://mundiseries.com"
list_servers = ['okru']
@@ -21,7 +22,8 @@ def mainlist(item):
itemlist = list()
autoplay.init(item.channel, list_servers, list_quality)
itemlist.append(Item(channel=item.channel, action="lista", title="Series", url=urlparse.urljoin(host, "/lista-de-series")))
itemlist.append(Item(channel=item.channel, action="lista", title="Series",
url=urlparse.urljoin(host, "/lista-de-series"), thumbnail=get_thumb('tvshows', auto=True)))
autoplay.show_option(item.channel, itemlist)
return itemlist
+7 -7
View File
@@ -11,6 +11,7 @@ from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
from channelselector import get_thumb
host = "http://mundoflv.com"
thumbmx = 'http://flags.fmcdn.net/data/flags/normal/mx.png'
@@ -60,7 +61,7 @@ def mainlist(item):
title="Series",
action="todas",
url=host,
thumbnail='https://s27.postimg.org/iahczwgrn/series.png',
thumbnail=get_thumb('tvshows', auto=True),
fanart='https://s27.postimg.org/iahczwgrn/series.png'
))
@@ -68,7 +69,7 @@ def mainlist(item):
title="Alfabetico",
action="letras",
url=host,
thumbnail='https://s17.postimg.org/fwi1y99en/a-z.png',
thumbnail=get_thumb('alphabet', auto=True),
fanart='https://s17.postimg.org/fwi1y99en/a-z.png'
))
@@ -76,7 +77,7 @@ def mainlist(item):
title="Mas vistas",
action="masvistas",
url=host,
thumbnail='https://s9.postimg.org/wmhzu9d7z/vistas.png',
thumbnail=get_thumb('more watched', auto=True),
fanart='https://s9.postimg.org/wmhzu9d7z/vistas.png'
))
@@ -84,15 +85,14 @@ def mainlist(item):
title="Recomendadas",
action="recomendadas",
url=host,
thumbnail='https://s12.postimg.org/s881laywd/recomendadas.png',
thumbnail=get_thumb('recomended', auto=True),
fanart='https://s12.postimg.org/s881laywd/recomendadas.png'
))
itemlist.append(Item(channel=item.channel,
title="Ultimas Agregadas",
action="ultimas",
url=host,
thumbnail='https://s22.postimg.org/cb7nmhwv5/ultimas.png',
url=host, thumbnail=get_thumb('last', auto=True),
fanart='https://s22.postimg.org/cb7nmhwv5/ultimas.png'
))
@@ -100,7 +100,7 @@ def mainlist(item):
title="Buscar",
action="search",
url='http://mundoflv.com/?s=',
thumbnail='https://s30.postimg.org/pei7txpa9/buscar.png',
thumbnail=get_thumb('search', auto=True),
fanart='https://s30.postimg.org/pei7txpa9/buscar.png'
))
-100
View File
@@ -1,100 +0,0 @@
# -*- coding: utf-8 -*-
import re
import urllib
import urlparse
from core import servertools
from core import scrapertools
from core.item import Item
from platformcode import logger
from core import httptools
Host='http://descargas2020.com'
def mainlist(item):
logger.info()
itemlist = []
itemlist.append(Item(channel=item.channel, action="submenu", title="Películas",url=Host+"/peliculas/"))
itemlist.append(Item(channel=item.channel, action="submenu", title="Series",url=Host+"/series/"))
#itemlist.append(Item(channel=item.channel, action="listado", title="Anime", url=Host+"/anime/",
# viewmode="movie_with_plot"))
#itemlist.append(
# Item(channel=item.channel, action="listado", title="Documentales", url=Host+"/documentales/",
# viewmode="movie_with_plot"))
#itemlist.append(Item(channel=item.channel, action="search", title="Buscar"))
return itemlist
def submenu(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="'+item.url+'"><i.+?<ul>(.+?)<\/ul>' #Filtrado por url
data_cat = scrapertools.find_single_match(data, patron)
patron_cat='<li><a href="(.+?)" title="(.+?)".+?<\/a><\/li>'
matches = scrapertools.find_multiple_matches(data_cat, patron_cat)
for scrapedurl, scrapedtitle in matches:
itemlist.append(item.clone(title=scrapedtitle, url=scrapedurl,action="listado"))
return itemlist
def listado(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data)
patron_data='<ul class="pelilist">(.+?)</ul>'
data_listado = scrapertools.find_single_match(data, patron_data)
patron_listado='<li><a href="(.+?)" title=".+?"><img src="(.+?)".+?><h2'
if 'Serie' in item.title:
patron_listado+='.+?>'
else:
patron_listado+='>'
patron_listado+='(.+?)<\/h2><span>(.+?)<\/span><\/a><\/li>'
matches = scrapertools.find_multiple_matches(data_listado, patron_listado)
for scrapedurl, scrapedthumbnail,scrapedtitle,scrapedquality in matches:
if 'Serie' in item.title:
action="episodios"
else:
action="findvideos"
itemlist.append(item.clone(title=scrapedtitle, url=scrapedurl,thumbnail=scrapedthumbnail, action=action, quality=scrapedquality,show=scrapedtitle))
# Página siguiente
patron_pag='<ul class="pagination"><li><a class="current" href=".+?">.+?<\/a>.+?<a href="(.+?)">'
siguiente = scrapertools.find_single_match(data, patron_pag)
itemlist.append(
Item(channel=item.channel, title="[COLOR cyan]Página Siguiente >>[/COLOR]", url=siguiente, action="listado"))
return itemlist
def episodios(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data)
patron_data='<ul class="buscar-list">(.+?)</ul>'
data_listado = scrapertools.find_single_match(data, patron_data)
patron = '<img src="(.+?)" alt=".+?">.+?<div class=".+?">.+?<a href=(.+?)" title=".+?">.+?>Serie.+?>(.+?)<'
matches = scrapertools.find_multiple_matches(data_listado, patron)
for scrapedthumbnail,scrapedurl, scrapedtitle in matches:
if " al " in scrapedtitle:
#action="episodios"
titulo=scrapedurl.split('http')
scrapedurl="http"+titulo[1]
itemlist.append(item.clone(title=scrapedtitle, url=scrapedurl,thumbnail=scrapedthumbnail, action="findvideos", show=scrapedtitle))
return itemlist
def findvideos(item):
logger.info()
itemlist = []
new_item = []
data = httptools.downloadpage(item.url).data
itemlist = servertools.find_video_items(data = data)
url = scrapertools.find_single_match( data, 'location.href = "([^"]+)"')
new_item.append(Item(url = url, title = "Torrent", server = "torrent", action = "play"))
itemlist.extend(new_item)
for it in itemlist:
it.channel = item.channel
return itemlist
+10 -1
View File
@@ -53,6 +53,13 @@ def mainlist(item):
set_category_context(new_item)
itemlist.append(new_item)
thumbnail = get_thumb("channels_movie_4k.png")
new_item = Item(channel=item.channel, action="novedades", extra="4k", title="Películas 4K", thumbnail=thumbnail)
set_category_context(new_item)
itemlist.append(new_item)
#if list_canales['terror']:
thumbnail = get_thumb("channels_horror.png")
new_item = Item(channel=item.channel, action="novedades", extra="terror", title="Peliculas de miedo!",
@@ -122,7 +129,7 @@ def set_category_context(item):
def get_channels_list():
logger.info()
list_canales = {'peliculas': [], 'terror': [], 'infantiles': [], 'series': [], 'anime': [],
list_canales = {'peliculas': [], '4k': [], 'terror': [], 'infantiles': [], 'series': [], 'anime': [],
'castellano': [], 'latino':[], 'torrent':[], 'documentales': []}
any_active = False
# Rellenar listas de canales disponibles
@@ -530,6 +537,8 @@ def menu_opciones(item):
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="peliculas", title=" - Películas ",
thumbnail=get_thumb("channels_movie.png"),
folder=False))
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="4K", title=" - Películas 4K ",
thumbnail=get_thumb("channels_movie.png"), folder=False))
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="infantiles", title=" - Para niños",
thumbnail=get_thumb("channels_children.png"),
folder=False))
@@ -39,6 +39,22 @@
"default": true,
"enabled": true,
"visible": true
},
{
"id": "include_in_newest_torrent",
"type": "bool",
"label": "Incluir en Novedades - Torrent",
"default": true,
"enabled": true,
"visible": true
},
{
"id": "include_in_newest_4k",
"type": "bool",
"label": "Incluir en Novedades - 4K",
"default": true,
"enabled": true,
"visible": true
}
]
}
+5 -1
View File
@@ -158,9 +158,13 @@ def newest(categoria):
itemlist = []
item = Item()
try:
if categoria in ['peliculas']:
if categoria in ['torrent', 'peliculas']:
item.url = host+'torrents'
elif categoria == '4k':
item.url = 'http://www.todo-peliculas.com/tags/4k'
item.type='section'
itemlist = list_all(item)
if itemlist[-1].title == 'Siguiente >>':
itemlist.pop()
except:
@@ -28,6 +28,14 @@
"default": true,
"enabled": true,
"visible": true
},
{
"id": "include_in_newest_4k",
"type": "bool",
"label": "Incluir en Novedades - 4K",
"default": true,
"enabled": true,
"visible": true
}
]
}
+22 -11
View File
@@ -26,15 +26,15 @@ def mainlist(item):
itemlist = list()
itemlist.append(Item(channel=item.channel, action="submenu", title="Películas", url=host,
thumbnail=thumb_movie, pattern="peliculas"))
pattern="peliculas", thumbnail=get_thumb('movies', auto=True)))
itemlist.append(
Item(channel=item.channel, action="submenu", title="Series", url=host,
thumbnail=thumb_tvshow, pattern="series"))
pattern="series", thumbnail=get_thumb('tvshows', auto=True)))
itemlist.append(
Item(channel=item.channel, action="anime", title="Anime", url=host,
thumbnail=thumb_anime, pattern="anime"))
pattern="anime", thumbnail=get_thumb('anime', auto=True)))
itemlist.append(Item(channel=item.channel, action="search", title="Buscar", url=host + "buscar",
thumbnail=thumb_search))
thumbnail=get_thumb('search', auto=True)))
return itemlist
@@ -96,6 +96,11 @@ def submenu(item):
item.clone(channel=item.channel, action="alfabeto", title=title + " [A-Z]", url=url,
thumbnail=item.thumbnail[:-4] + "_az.png", pattern="pelilist"))
if 'Películas' in item.title:
new_item = item.clone(title='Peliculas 4K', url=host+'buscar', post='q=4k', action='listado2',
pattern='buscar-list')
itemlist.append(new_item)
return itemlist
@@ -473,14 +478,20 @@ def newest(categoria):
item.pattern = 'pelilist'
if categoria == 'torrent':
item.url = host+'peliculas/'
itemlist = listado(item)
if itemlist[-1].title == ">> Página siguiente":
itemlist.pop()
action = listado(item)
elif categoria == 'series':
item.url = host+'series/'
itemlist.extend(listado(item))
if itemlist[-1].title == ">> Página siguiente":
itemlist.pop()
action = listado(item)
elif categoria == '4k':
item.url = host + 'buscar/'
item.post = 'q=4k'
item.pattern = 'buscar-list'
action = listado2(item)
itemlist = action
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:
+3 -1
View File
@@ -31,7 +31,7 @@ thumb_dict = {"movies": "https://s10.postimg.org/fxtqzdog9/peliculas.png",
"alphabet": "https://s10.postimg.org/4dy3ytmgp/a-z.png",
"recomended": "https://s10.postimg.org/7xk1oqccp/recomendadas.png",
"more watched": "https://s10.postimg.org/c6orr5neh/masvistas.png",
"more voted": "https://s10.postimg.org/c6orr5neh/masvistas.png",
"more voted": "https://s10.postimg.org/lwns2d015/masvotadas.png",
"favorites": "https://s10.postimg.org/rtg147gih/favoritas.png",
"colections": "https://s10.postimg.org/ywnwjvytl/colecciones.png",
"categories": "https://s10.postimg.org/v0ako5lmh/categorias.png",
@@ -42,6 +42,7 @@ thumb_dict = {"movies": "https://s10.postimg.org/fxtqzdog9/peliculas.png",
"country": "https://s10.postimg.org/yz0h81j15/pais.png",
"adults": "https://s10.postimg.org/s8raxc51l/adultos.png",
"recents": "https://s10.postimg.org/649u24kp5/recents.png",
"updated" : "https://s10.postimg.org/46m3h6h9l/updated.png",
"accion": "https://s14.postimg.org/sqy3q2aht/action.png",
"adolescente" : "https://s10.postimg.org/inq7u4p61/teens.png",
"adultos": "https://s10.postimg.org/s8raxc51l/adultos.png",
@@ -61,6 +62,7 @@ thumb_dict = {"movies": "https://s10.postimg.org/fxtqzdog9/peliculas.png",
"deporte": "https://s14.postimg.org/x1crlnnap/sports.png",
"destacadas": "https://s10.postimg.org/yu40x8q2x/destacadas.png",
"documental": "https://s10.postimg.org/68aygmmcp/documentales.png",
"doramas":"https://s10.postimg.org/h4dyr4nfd/doramas.png",
"drama": "https://s14.postimg.org/fzjxjtnxt/drama.png",
"erotica" : "https://s10.postimg.org/dcbb9bfx5/erotic.png",
"espanolas" : "https://s10.postimg.org/x1y6zikx5/spanish.png",
Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB