Revert "Created branch develop"

This commit is contained in:
Alfa
2017-08-13 11:21:50 +02:00
committed by GitHub
parent 8000a6fd25
commit e549d644a9
395 changed files with 1849 additions and 10246 deletions
+37 -38
View File
@@ -1,26 +1,26 @@
# -*- coding: utf-8 -*-
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
host = "http://allcalidad.com/"
def mainlist(item):
logger.info()
itemlist = []
itemlist.append(Item(channel=item.channel, title="Novedades", action="peliculas", url=host))
itemlist.append(Item(channel=item.channel, title="Por género", action="generos_years", url=host, extra="Genero"))
itemlist.append(Item(channel=item.channel, title="Por año", action="generos_years", url=host, extra=">Año<"))
itemlist.append(Item(channel=item.channel, title="Favoritas", action="peliculas", url=host + "/favorites"))
itemlist.append(Item(channel=item.channel, title=""))
itemlist.append(Item(channel=item.channel, title="Buscar", action="search", url=host + "?s="))
itemlist.append(Item(channel = item.channel, title = "Novedades", action = "peliculas", url = host))
itemlist.append(Item(channel = item.channel, title = "Por género", action = "generos_years", url = host, extra = "Genero" ))
itemlist.append(Item(channel = item.channel, title = "Por año", action = "generos_years", url = host, extra = ">Año<"))
itemlist.append(Item(channel = item.channel, title = "Favoritas", action = "peliculas", url = host + "/favorites" ))
itemlist.append(Item(channel = item.channel, title = ""))
itemlist.append(Item(channel = item.channel, title = "Buscar", action = "search", url = host + "?s="))
return itemlist
def newest(categoria):
logger.info()
itemlist = []
@@ -44,10 +44,10 @@ def newest(categoria):
def search(item, texto):
logger.info()
texto = texto.replace(" ", "+")
texto = texto.replace(" ","+")
item.url = item.url + texto
item.extra = "busca"
if texto != '':
if texto!='':
return peliculas(item)
else:
return []
@@ -57,17 +57,17 @@ def generos_years(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
patron = '(?s)%s(.*?)</ul></div>' % item.extra
patron = '(?s)%s(.*?)</ul></div>' %item.extra
bloque = scrapertools.find_single_match(data, patron)
patron = 'href="([^"]+)'
patron = 'href="([^"]+)'
patron += '">([^<]+)'
matches = scrapertools.find_multiple_matches(bloque, patron)
for url, titulo in matches:
itemlist.append(Item(channel=item.channel,
action="peliculas",
title=titulo,
url=url
))
itemlist.append(Item(channel = item.channel,
action = "peliculas",
title = titulo,
url = url
))
return itemlist
@@ -86,22 +86,22 @@ def peliculas(item):
year = scrapertools.find_single_match(varios, 'Año.*?kinopoisk">([^<]+)')
year = scrapertools.find_single_match(year, '[0-9]{4}')
mtitulo = titulo + " (" + idioma + ") (" + year + ")"
new_item = Item(channel=item.channel,
action="findvideos",
title=mtitulo,
fulltitle=titulo,
thumbnail=thumbnail,
url=url,
contentTitle=titulo,
contentType="movie"
)
new_item = Item(channel = item.channel,
action = "findvideos",
title = mtitulo,
fulltitle = titulo,
thumbnail = thumbnail,
url = url,
contentTitle = titulo,
contentType="movie"
)
if year:
new_item.infoLabels['year'] = int(year)
itemlist.append(new_item)
url_pagina = scrapertools.find_single_match(data, 'next" href="([^"]+)')
if url_pagina != "":
pagina = "Pagina: " + scrapertools.find_single_match(url_pagina, "page/([0-9]+)")
itemlist.append(Item(channel=item.channel, action="peliculas", title=pagina, url=url_pagina))
itemlist.append(Item(channel = item.channel, action = "peliculas", title = pagina, url = url_pagina))
return itemlist
@@ -120,25 +120,24 @@ def findvideos(item):
elif "vimeo" in url:
url += "|" + "http://www.allcalidad.com"
itemlist.append(
Item(channel=item.channel,
action="play",
title=titulo,
fulltitle=item.fulltitle,
thumbnail=item.thumbnail,
server=server,
url=url
Item(channel = item.channel,
action = "play",
title = titulo,
fulltitle = item.fulltitle,
thumbnail = item.thumbnail,
server = "",
url = url
))
itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize())
if itemlist:
itemlist.append(Item(channel=item.channel))
itemlist.append(Item(channel = item.channel))
itemlist.append(item.clone(channel="trailertools", title="Buscar Tráiler", action="buscartrailer", context="",
text_color="magenta"))
# Opción "Añadir esta película a la biblioteca de KODI"
if item.extra != "library":
if config.get_videolibrary_support():
itemlist.append(Item(channel=item.channel, title="Añadir a la videoteca", text_color="green",
filtro=True, action="add_pelicula_to_library", url=item.url,
thumbnail=item.thumbnail,
filtro=True, action="add_pelicula_to_library", url=item.url, thumbnail = item.thumbnail,
infoLabels={'title': item.fulltitle}, fulltitle=item.fulltitle,
extra="library"))
return itemlist
+3 -2
View File
@@ -2,11 +2,12 @@
import string
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
__modo_grafico__ = config.get_setting('modo_grafico', "allpeliculas")
__perfil__ = int(config.get_setting('perfil', "allpeliculas"))
@@ -365,7 +366,7 @@ def episodios(item):
for item in itemlist:
if item.infoLabels["episodio_titulo"]:
item.title = "%dx%02d: %s" % (
item.contentSeason, item.contentEpisodeNumber, item.infoLabels["episodio_titulo"])
item.contentSeason, item.contentEpisodeNumber, item.infoLabels["episodio_titulo"])
else:
item.title = "%dx%02d: %s" % (item.contentSeason, item.contentEpisodeNumber, item.title)
+6 -5
View File
@@ -5,12 +5,13 @@ import re
import unicodedata
from threading import Thread
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
__modo_grafico__ = config.get_setting('modo_grafico', "ver-pelis")
@@ -254,14 +255,14 @@ def get_art(item):
if id == None:
if item.contentType == "movie":
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+tv+series+site:imdb.com" % (
item.fulltitle.replace(' ', '+'), year)
item.fulltitle.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "", data)
subdata_imdb = scrapertools.find_single_match(data,
'<li class="b_algo">(.*?)h="ID.*?<strong>.*?TV Series')
else:
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+site:imdb.com" % (
item.fulltitle.replace(' ', '+'), year)
item.fulltitle.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "", data)
subdata_imdb = scrapertools.find_single_match(data, '<li class="b_algo">(.*?)h="ID.*?<strong>')
@@ -281,7 +282,7 @@ def get_art(item):
title = scrapertools.find_single_match(item.fulltitle, '\(.*?\)')
if item.contentType != "movie":
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+tv+series+site:imdb.com" % (
title.replace(' ', '+'), year)
title.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "",
data)
@@ -289,7 +290,7 @@ def get_art(item):
'<li class="b_algo">(.*?)h="ID.*?<strong>.*?TV Series')
else:
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+site:imdb.com" % (
title.replace(' ', '+'), year)
title.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "",
data)
+1 -1
View File
@@ -6,9 +6,9 @@ import urlparse
from channels import renumbertools
from core import httptools
from core import jsontools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
HOST = "https://animeflv.net/"
+2 -1
View File
@@ -5,11 +5,12 @@ import urlparse
from os import path
from channels import renumbertools
from core import config
from core import filetools
from core import httptools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import config, logger
CHANNEL_HOST = "http://animeflv.me/"
CHANNEL_DEFAULT_HEADERS = [
+1 -1
View File
@@ -6,9 +6,9 @@ import urlparse
from channels import renumbertools
from core import httptools
from core import jsontools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
HOST = "https://animeflv.ru/"
+2 -1
View File
@@ -3,10 +3,11 @@
import re
import urlparse
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import config, logger
CHANNEL_HOST = "http://animeid.tv/"
+2 -2
View File
@@ -4,10 +4,10 @@ import re
import urllib
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
from core import servertools
tgenero = {"Comedia": "https://s7.postimg.org/ne9g9zgwb/comedia.png",
"Drama": "https://s16.postimg.org/94sia332d/drama.png",
+3 -3
View File
@@ -3,20 +3,20 @@
import re
from channels import renumbertools
from channelselector import get_thumb
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
host = "http://www.anitoonstv.com"
def mainlist(item):
logger.info()
thumb_series = get_thumb("channels_tvshow.png")
thumb_series = config.get_thumb("thumb_channels_tvshow.png")
itemlist = list()
+2 -1
View File
@@ -2,10 +2,11 @@
import urllib
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import config, logger
host = "http://www.area-documental.com"
__perfil__ = int(config.get_setting('perfil', "areadocumental"))
+2 -1
View File
@@ -3,9 +3,10 @@
import os
from core import channeltools
from core import config
from core import jsontools
from core import logger
from core.item import Item
from platformcode import config, logger
from platformcode import platformtools
__channel__ = "autoplay"
+1 -1
View File
@@ -3,10 +3,10 @@
import re
import urlparse
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
def mainlist(item):
+1 -1
View File
@@ -4,9 +4,9 @@ import re
import urllib
from core import jsontools as json
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
url_api = ""
beeg_salt = ""
+1 -1
View File
@@ -6,9 +6,9 @@ import urllib
import urllib2
import urlparse
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
try:
import xbmc
@@ -7,13 +7,14 @@ from threading import Thread
import xbmc
import xbmcgui
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from core.scrapertools import decodeHtmlentities as dhe
from platformcode import config, logger
try:
_create_unverified_https_context = ssl._create_unverified_context
+1 -1
View File
@@ -6,10 +6,10 @@ import urllib
import urllib2
import xbmcgui
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
## Cargar los datos con la librería 'requests'
+1 -1
View File
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from core import httptools
from core import logger
from core import scrapertools
from platformcode import logger
host = "http://www.canalporno.com"
+4 -3
View File
@@ -3,13 +3,13 @@
import re
from channels import renumbertools
from channelselector import get_thumb
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
host = "http://www.cartoon-latino.com/"
@@ -17,7 +17,8 @@ host = "http://www.cartoon-latino.com/"
def mainlist(item):
logger.info()
thumb_series = get_thumb("channels_tvshow.png")
thumb_series = config.get_thumb("thumb_channels_tvshow.png")
thumb_series_az = config.get_thumb("thumb_channels_tvshow_az.png")
itemlist = list()
@@ -3,10 +3,10 @@
import re
from core import httptools
from core import logger
from core import scrapertools
from core import tmdb
from core.item import Item
from platformcode import logger
host = 'http://www.ciberdocumentales.com'
@@ -2,11 +2,12 @@
import re
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
host = "http://www.cineasiaenlinea.com/"
# Configuracion del canal
+18 -16
View File
@@ -5,12 +5,13 @@ import urlparse
from channels import autoplay
from channels import filtertools
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
IDIOMAS = {'latino': 'Latino', 'castellano': 'Español', 'portugues': 'Portugues'}
list_language = IDIOMAS.values()
@@ -284,16 +285,16 @@ def findvideos(item):
patron = 'target="_blank".*? service=".*?" data="(.*?)"><li>(.*?)<\/li>'
matches = re.compile(patron, re.DOTALL).findall(data)
server_url = {'YourUpload': 'https://www.yourupload.com/embed/',
'Openload': 'https://openload.co/embed/',
'TVM': 'https://thevideo.me/embed-',
'Trailer': '',
'BitTorrent': '',
'Mega': '',
'MediaFire': ''}
server_url = {'YourUpload':'https://www.yourupload.com/embed/',
'Openload':'https://openload.co/embed/',
'TVM':'https://thevideo.me/embed-',
'Trailer':'',
'BitTorrent':'',
'Mega':'',
'MediaFire':''}
for video_cod, server_id in matches:
if server_id not in ['BitTorrent', 'Mega', 'MediaFire', 'Trailer', '']:
if server_id not in ['BitTorrent', 'Mega', 'MediaFire', 'Trailer','']:
video_id = dec(video_cod)
if server_id in server_url:
@@ -301,22 +302,23 @@ def findvideos(item):
thumbnail = servertools.guess_server_thumbnail(server_id)
if server_id == 'TVM':
server = 'thevideo.me'
url = server_url[server_id] + video_id + '.html'
url= server_url[server_id]+video_id+'.html'
else:
url = server_url[server_id] + video_id
title = item.contentTitle + ' (%s)' % server
url = server_url[server_id]+video_id
title = item.contentTitle +' (%s)'%server
quality = 'default'
if server_id not in ['BitTorrent', 'Mega', 'MediaFire', 'Trailer']:
if url not in duplicados:
itemlist.append(item.clone(action='play',
itemlist.append(item.clone(action = 'play',
title=title,
fulltitle=item.contentTitle,
url=url,
language=IDIOMAS[item.language],
thumbnail=thumbnail,
thumbnail = thumbnail,
quality=quality,
server=server
server = server
))
duplicados.append(url)
@@ -328,7 +330,7 @@ def findvideos(item):
autoplay.start(itemlist, item)
# itemlist.append(trailer_item)
#itemlist.append(trailer_item)
if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos':
itemlist.append(
Item(channel=item.channel,
+25 -28
View File
@@ -3,12 +3,13 @@
import re
import urlparse
from core import config
from core import httptools
from core import jsontools
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
__modo_grafico__ = config.get_setting('modo_grafico', 'cinefox')
__perfil__ = int(config.get_setting('perfil', "cinefox"))
@@ -32,17 +33,17 @@ def mainlist(item):
itemlist = []
itemlist.append(item.clone(action="seccion_peliculas", title="Películas", fanart="http://i.imgur.com/PjJaW8o.png",
url=host + "/catalogue?type=peliculas"))
url= host + "/catalogue?type=peliculas"))
# Seccion series
itemlist.append(item.clone(action="seccion_series", title="Series",
url=host + "/ultimos-capitulos", fanart="http://i.imgur.com/9loVksV.png"))
url= host + "/ultimos-capitulos", fanart="http://i.imgur.com/9loVksV.png"))
itemlist.append(item.clone(action="peliculas", title="Documentales", fanart="http://i.imgur.com/Q7fsFI6.png",
url=host + "/catalogue?type=peliculas&genre=documental"))
url= host + "/catalogue?type=peliculas&genre=documental"))
if config.get_setting("adult_mode") != 0:
itemlist.append(item.clone(action="peliculas", title="Sección Adultos +18",
url=host + "/catalogue?type=adultos",
url= host + "/catalogue?type=adultos",
fanart="http://i.imgur.com/kIvE1Zh.png"))
itemlist.append(item.clone(title="Buscar...", action="local_search"))
@@ -244,7 +245,7 @@ def filtrado(item, values):
item.valores = "Filtro: " + ", ".join(sorted(strings))
item.strings = ""
item.url = host + "/catalogue?type=%s&genre=%s&release=%s&quality=%s&language=%s&order=%s" % \
(item.extra, genero, year, calidad, idioma, order)
(item.extra, genero, year, calidad, idioma, order)
return globals()[item.extra](item)
@@ -254,11 +255,11 @@ def seccion_peliculas(item):
itemlist = []
# Seccion peliculas
itemlist.append(item.clone(action="peliculas", title="Novedades", fanart="http://i.imgur.com/PjJaW8o.png",
url=host + "/catalogue?type=peliculas"))
url= host + "/catalogue?type=peliculas"))
itemlist.append(item.clone(action="peliculas", title="Estrenos",
url=host + "/estrenos-de-cine", fanart="http://i.imgur.com/PjJaW8o.png"))
url= host + "/estrenos-de-cine", fanart="http://i.imgur.com/PjJaW8o.png"))
itemlist.append(item.clone(action="filtro", title="Filtrar películas", extra="peliculas",
url=host + "/catalogue?type=peliculas",
url= host + "/catalogue?type=peliculas",
fanart="http://i.imgur.com/PjJaW8o.png"))
# Filtros personalizados para peliculas
for i in range(1, 4):
@@ -268,22 +269,21 @@ def seccion_peliculas(item):
new_item = item.clone()
new_item.values = filtros
itemlist.append(new_item.clone(action="filtro", title=title, fanart="http://i.imgur.com/PjJaW8o.png",
url=host + "/catalogue?type=peliculas", extra="peliculas"))
url= host + "/catalogue?type=peliculas", extra="peliculas"))
itemlist.append(item.clone(action="mapa", title="Mapa de películas", extra="peliculas",
url=host + "/mapa-de-peliculas",
url= host + "/mapa-de-peliculas",
fanart="http://i.imgur.com/PjJaW8o.png"))
return itemlist
def seccion_series(item):
logger.info()
itemlist = []
# Seccion series
itemlist.append(item.clone(action="ultimos", title="Últimos capítulos",
url=host + "/ultimos-capitulos", fanart="http://i.imgur.com/9loVksV.png"))
url= host + "/ultimos-capitulos", fanart="http://i.imgur.com/9loVksV.png"))
itemlist.append(item.clone(action="series", title="Series recientes",
url=host + "/catalogue?type=series",
url= host + "/catalogue?type=series",
fanart="http://i.imgur.com/9loVksV.png"))
itemlist.append(item.clone(action="filtro", title="Filtrar series", extra="series",
url=host + "/catalogue?type=series",
@@ -296,9 +296,9 @@ def seccion_series(item):
new_item = item.clone()
new_item.values = filtros
itemlist.append(new_item.clone(action="filtro", title=title, fanart="http://i.imgur.com/9loVksV.png",
url=host + "/catalogue?type=series", extra="series"))
url= host + "/catalogue?type=series", extra="series"))
itemlist.append(item.clone(action="mapa", title="Mapa de series", extra="series",
url=host + "/mapa-de-series",
url= host + "/mapa-de-series",
fanart="http://i.imgur.com/9loVksV.png"))
return itemlist
@@ -476,7 +476,7 @@ def menu_info(item):
item.infoLabels["plot"] = scrapertools.htmlclean(sinopsis)
id = scrapertools.find_single_match(item.url, '/(\d+)/')
data_trailer = httptools.downloadpage(host + "/media/trailer?idm=%s&mediaType=1" % id).data
data_trailer = httptools.downloadpage( host + "/media/trailer?idm=%s&mediaType=1" % id).data
trailer_url = jsontools.load(data_trailer)["video"]["url"]
if trailer_url != "":
item.infoLabels["trailer"] = trailer_url
@@ -539,15 +539,14 @@ def episodios(item):
itemlist.reverse()
if "episodios" not in item.extra and not item.path:
id = scrapertools.find_single_match(item.url, '/(\d+)/')
data_trailer = httptools.downloadpage(host + "/media/trailer?idm=%s&mediaType=1" % id).data
data_trailer = httptools.downloadpage( host + "/media/trailer?idm=%s&mediaType=1" % id).data
item.infoLabels["trailer"] = jsontools.load(data_trailer)["video"]["url"]
itemlist.append(item.clone(channel="trailertools", action="buscartrailer", title="Buscar Tráiler",
text_color="magenta"))
if config.get_videolibrary_support():
itemlist.append(Item(channel=item.channel, action="add_serie_to_library", text_color=color5,
title="Añadir serie a la videoteca", show=item.show, thumbnail=item.thumbnail,
url=item.url, fulltitle=item.fulltitle, fanart=item.fanart,
extra="episodios###episodios",
url=item.url, fulltitle=item.fulltitle, fanart=item.fanart, extra="episodios###episodios",
contentTitle=item.fulltitle))
return itemlist
@@ -634,7 +633,7 @@ def findvideos(item):
itemlist.extend(get_enlaces(item, url, "de Descarga"))
if extra == "media":
data_trailer = httptools.downloadpage(host + "/media/trailer?idm=%s&mediaType=1" % id).data
data_trailer = httptools.downloadpage( host + "/media/trailer?idm=%s&mediaType=1" % id).data
trailer_url = jsontools.load(data_trailer)["video"]["url"]
if trailer_url != "":
item.infoLabels["trailer"] = trailer_url
@@ -663,20 +662,18 @@ def get_enlaces(item, url, type):
if type == "Online":
gg = httptools.downloadpage(item.url, add_referer=True).data
bloque = scrapertools.find_single_match(gg, 'class="tab".*?button show')
patron = 'a href="#([^"]+)'
patron = 'a href="#([^"]+)'
patron += '.*?language-ES-medium ([^"]+)'
patron += '.*?</i>([^<]+)'
matches = scrapertools.find_multiple_matches(bloque, patron)
for scrapedopcion, scrapedlanguage, scrapedcalidad in matches:
google_url = scrapertools.find_single_match(bloque, 'id="%s.*?src="([^"]+)' % scrapedopcion)
google_url = scrapertools.find_single_match(bloque, 'id="%s.*?src="([^"]+)' %scrapedopcion)
if "medium-es" in scrapedlanguage: language = "Castellano"
if "medium-en" in scrapedlanguage: language = "Ingles"
if "medium-vs" in scrapedlanguage: language = "VOSE"
if "medium-la" in scrapedlanguage: language = "Latino"
titulo = " [%s/%s]" % (language, scrapedcalidad.strip())
itemlist.append(
item.clone(action="play", url=google_url, title=" Ver en Gvideo" + titulo, text_color=color2,
extra="", server="gvideo"))
titulo = " [%s/%s]" %(language, scrapedcalidad.strip())
itemlist.append(item.clone(action="play", url=google_url, title=" Ver en Gvideo"+titulo, text_color=color2, extra="", server = "gvideo"))
patron = '<div class="available-source".*?data-url="([^"]+)".*?class="language.*?title="([^"]+)"' \
'.*?class="source-name.*?>\s*([^<]+)<.*?<span class="quality-text">([^<]+)<'
matches = scrapertools.find_multiple_matches(data, patron)
@@ -750,6 +747,6 @@ def select_page(item):
dialog = xbmcgui.Dialog()
number = dialog.numeric(0, "Introduce el número de página")
if number != "":
item.url = re.sub(r'page=(\d+)', "page=" + number, item.url)
item.url = re.sub(r'page=(\d+)', "page="+number, item.url)
return peliculas(item)
+2 -1
View File
@@ -3,12 +3,13 @@
import re
import urlparse
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
host = 'http://cinefoxtv.net/'
headers = [['User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'],
+2 -1
View File
@@ -3,11 +3,12 @@
import re
import urlparse
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
host = "http://www.cinehindi.com/"
+2 -1
View File
@@ -3,10 +3,11 @@
import os
import re
from core import config
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
IMAGES_PATH = os.path.join(config.get_runtime_path(), 'resources', 'images', 'cinetemagay')
+26 -27
View File
@@ -2,12 +2,14 @@
import urlparse
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
CHANNEL_HOST = "http://www.cinetux.net/"
@@ -32,7 +34,7 @@ def mainlist(item):
data = httptools.downloadpage(CHANNEL_HOST).data
total = scrapertools.find_single_match(data, "TENEMOS\s<b>(.*?)</b>")
titulo = "Peliculas (%s)" % total
titulo = "Peliculas (%s)" %total
itemlist.append(item.clone(title=titulo, text_color=color2, action="", text_bold=True))
itemlist.append(item.clone(action="peliculas", title=" Novedades", url=CHANNEL_HOST + "pelicula",
thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres"
@@ -132,7 +134,7 @@ def peliculas(item):
# Descarga la página
data = httptools.downloadpage(item.url).data
patron = '(?s)class="(?:result-item|item movies)">.*?<img src="([^"]+)'
patron = '(?s)class="(?:result-item|item movies)">.*?<img src="([^"]+)'
patron += '.*?alt="([^"]+)"'
patron += '(.*?)'
patron += 'href="([^"]+)"'
@@ -142,7 +144,7 @@ def peliculas(item):
calidad = scrapertools.find_single_match(calidad, '.*?quality">([^<]+)')
try:
fulltitle = scrapedtitle
year = scrapedyear.replace("&nbsp;", "")
year = scrapedyear.replace("&nbsp;","")
if "/" in fulltitle:
fulltitle = fulltitle.split(" /", 1)[0]
scrapedtitle = "%s (%s)" % (fulltitle, year)
@@ -157,7 +159,7 @@ def peliculas(item):
new_item.infoLabels['year'] = int(year)
itemlist.append(new_item)
try:
# tmdb.set_infoLabels(itemlist, __modo_grafico__)
#tmdb.set_infoLabels(itemlist, __modo_grafico__)
a = 1
except:
pass
@@ -181,13 +183,13 @@ def destacadas(item):
# Extrae las entradas (carpetas)
bloque = scrapertools.find_single_match(data, 'peliculas_destacadas.*?class="single-page')
patron = '(?s)title="([^"]+)"'
patron = '(?s)title="([^"]+)"'
patron += '.href="([^"]+)"'
patron += '.*?src="([^"]+)'
matches = scrapertools.find_multiple_matches(bloque, patron)
for scrapedtitle, scrapedurl, scrapedthumbnail in matches:
for scrapedtitle, scrapedurl, scrapedthumbnail in matches:
scrapedurl = "http://www.cinetux.net" + scrapedurl
scrapedtitle = scrapedtitle.replace("Ver ", "")
scrapedtitle = scrapedtitle.replace("Ver ","")
new_item = item.clone(action="findvideos", title=scrapedtitle, fulltitle=scrapedtitle,
url=scrapedurl, thumbnail=scrapedthumbnail,
contentTitle=scrapedtitle, contentType="movie")
@@ -196,8 +198,7 @@ def destacadas(item):
# Extrae el paginador
next_page_link = scrapertools.find_single_match(data, '<a href="([^"]+)"\s+><span [^>]+>&raquo;</span>')
if next_page_link:
itemlist.append(
item.clone(action="destacadas", title=">> Página siguiente", url=next_page_link, text_color=color3))
itemlist.append(item.clone(action="destacadas", title=">> Página siguiente", url=next_page_link, text_color=color3))
return itemlist
@@ -234,7 +235,7 @@ def idioma(item):
return itemlist
def findvideos(item):
logger.info()
itemlist = []
@@ -252,7 +253,7 @@ def findvideos(item):
year = scrapertools.find_single_match(item.title, "\(([0-9]+)")
if year and item.extra != "library":
item.infoLabels['year'] = int(year)
item.infoLabels['year'] = int(year)
# Ampliamos datos en tmdb
if not item.infoLabels['plot']:
try:
@@ -279,7 +280,7 @@ def findvideos(item):
if itemlist:
itemlist.append(item.clone(channel="trailertools", title="Buscar Tráiler", action="buscartrailer", context="",
text_color="magenta"))
text_color="magenta"))
# Opción "Añadir esta película a la videoteca"
if item.extra != "library":
if config.get_videolibrary_support():
@@ -287,7 +288,7 @@ def findvideos(item):
filtro=True, action="add_pelicula_to_library", url=item.url,
infoLabels={'title': item.fulltitle}, fulltitle=item.fulltitle,
extra="library"))
else:
itemlist.append(item.clone(title="No hay enlaces disponibles", action="", text_color=color3))
@@ -298,9 +299,9 @@ def bloque_enlaces(data, filtro_idioma, dict_idiomas, type, item):
logger.info()
lista_enlaces = []
matches = []
if type == "online": t_tipo = "Ver Online"
if type == "online" : t_tipo = "Ver Online"
if type == "descarga": t_tipo = "Descargar"
data = data.replace("\n", "")
data = data.replace("\n","")
if type == "online":
patron = '(?is)class="playex.*?visualizaciones'
bloque1 = scrapertools.find_single_match(data, patron)
@@ -310,18 +311,18 @@ def bloque_enlaces(data, filtro_idioma, dict_idiomas, type, item):
lazy = ""
if "lazy" in bloque1:
lazy = "lazy-"
patron = '(?s)id="%s".*?metaframe.*?%ssrc="([^"]+)' % (scrapedoption, lazy)
patron = '(?s)id="%s".*?metaframe.*?%ssrc="([^"]+)' %(scrapedoption, lazy)
url = scrapertools.find_single_match(bloque1, patron)
if "goo.gl" in url:
url = httptools.downloadpage(url, follow_redirects=False, only_headers=True).headers.get("location", "")
url = httptools.downloadpage(url, follow_redirects=False, only_headers=True).headers.get("location","")
if "www.cinetux.me" in url:
server = scrapertools.find_single_match(url, "player/(.*?)\.")
else:
server = servertools.get_server_from_url(url)
matches.append([url, server, "", language.strip(), t_tipo])
bloque2 = scrapertools.find_single_match(data, '(?s)box_links.*?dt_social_single')
bloque2 = bloque2.replace("\t", "").replace("\r", "")
patron = '(?s)optn" href="([^"]+)'
bloque2 = bloque2.replace("\t","").replace("\r","")
patron = '(?s)optn" href="([^"]+)'
patron += '.*?title="([^"]+)'
patron += '.*?src.*?src="[^>]+"?/>([^<]+)'
patron += '.*?src="[^>]+"?/>([^<]+)'
@@ -342,12 +343,11 @@ 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))
url=scrapedurl, server=scrapedserver, idioma=scrapedlanguage, extra=item.url))
else:
idioma = dict_idiomas[language]
if idioma == filtro_idioma:
lista_enlaces.append(item.clone(title=title, text_color=color2, action="play", url=scrapedurl,
lista_enlaces.append(item.clone(title=title, text_color=color2, action="play", url=scrapedurl,
extra=item.url))
else:
if language not in filtrados:
@@ -368,7 +368,7 @@ def play(item):
data = httptools.downloadpage(item.url, headers={'Referer': item.extra}).data.replace("\\", "")
id = scrapertools.find_single_match(data, 'img src="[^#]+#(.*?)"')
item.url = "https://youtube.googleapis.com/embed/?status=ok&hl=es&allow_embed=1&ps=docs&partnerid=30&hd=1&autoplay=0&cc_load_policy=1&showinfo=0&docid=" + id
itemlist = servertools.find_video_items(data=item.url)
itemlist = servertools.find_video_items(data = item.url)
elif "links" in item.url or "www.cinetux.me" in item.url:
data = httptools.downloadpage(item.url).data
scrapedurl = scrapertools.find_single_match(data, '<a href="(http[^"]+)')
@@ -377,10 +377,9 @@ def play(item):
if scrapedurl == "":
scrapedurl = scrapertools.find_single_match(data, 'replace."([^"]+)"')
elif "goo.gl" in scrapedurl:
scrapedurl = httptools.downloadpage(scrapedurl, follow_redirects=False, only_headers=True).headers.get(
"location", "")
scrapedurl = httptools.downloadpage(scrapedurl, follow_redirects=False, only_headers=True).headers.get("location", "")
item.url = scrapedurl
itemlist = servertools.find_video_items(data=item.url)
itemlist = servertools.find_video_items(data = item.url)
else:
return [item]
return itemlist
+3 -2
View File
@@ -2,11 +2,12 @@
import re
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
host = "http://www.clasicofilm.com/"
# Configuracion del canal
@@ -60,7 +61,7 @@ def search(item, texto):
cx = scrapertools.find_single_match(data, "var cx = '([^']+)'")
texto = texto.replace(" ", "%20")
item.url = "https://www.googleapis.com/customsearch/v1element?key=AIzaSyCVAXiUzRYsML1Pv6RwSG1gunmMikTzQqY&rsz=filtered_cse&num=20&hl=es&sig=0c3990ce7a056ed50667fe0c3873c9b6&cx=%s&q=%s&sort=&googlehost=www.google.com&start=0" % (
cx, texto)
cx, texto)
try:
return busqueda(item)
+2 -1
View File
@@ -3,11 +3,12 @@
import re
import threading
from core import config
from core import filetools
from core import httptools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import config, logger
__perfil__ = config.get_setting('perfil', "copiapop")
+1 -1
View File
@@ -4,10 +4,10 @@ import re
import urlparse
import xbmc
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
# Main list manual
+2 -1
View File
@@ -3,10 +3,11 @@
import re
import urllib
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import config, logger
__perfil__ = config.get_setting('perfil', "crunchyroll")
+1 -1
View File
@@ -6,10 +6,10 @@ import urlparse
import xbmc
import xbmcgui
from core import logger
from core import scrapertools, httptools
from core.item import Item
from core.scrapertools import decodeHtmlentities as dhe
from platformcode import logger
ACTION_SHOW_FULLSCREEN = 36
ACTION_GESTURE_SWIPE_LEFT = 511
+2 -1
View File
@@ -4,10 +4,11 @@ import re
import urllib
import urlparse
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import config, logger
def mainlist(item):
+1 -1
View File
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from core import httptools
from core import logger
from core import scrapertools
from platformcode import logger
def mainlist(item):
@@ -3,17 +3,17 @@
import re
import urlparse
from channelselector import get_thumb
from channelselector import get_thumbnail_path
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from core.tmdb import Tmdb
from platformcode import logger
from servers.decrypters import expurl
def agrupa_datos(data):
# Agrupa los datos
## Agrupa los datos
data = re.sub(r'\n|\r|\t|&nbsp;|<br>|<!--.*?-->', '', data)
data = re.sub(r'\s+', ' ', data)
data = re.sub(r'>\s<', '><', data)
@@ -23,7 +23,7 @@ def agrupa_datos(data):
def mainlist(item):
logger.info()
thumb_buscar = get_thumb("search.png")
thumb_buscar = get_thumbnail_path() + "thumb_search.png"
itemlist = []
itemlist.append(Item(channel=item.channel, title="Últimas agregadas", action="agregadas",
+2 -1
View File
@@ -3,11 +3,12 @@
import re
import urllib
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
__modo_grafico__ = config.get_setting("modo_grafico", "descargasmix")
__perfil__ = config.get_setting("perfil", "descargasmix")
+1 -1
View File
@@ -3,10 +3,10 @@
import re
import urlparse
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
def mainlist(item):
+1 -1
View File
@@ -5,10 +5,10 @@ import urllib
import urlparse
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
def mainlist(item):
+10 -9
View File
@@ -7,12 +7,13 @@ from threading import Thread
import xbmc
import xbmcgui
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import tmdb
from core.item import Item
from core.scrapertools import decodeHtmlentities as dhe
from platformcode import config, logger
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0'}
@@ -489,14 +490,14 @@ class TextBox2(xbmcgui.WindowDialog):
self.addControl(self.plot)
self.plot.setAnimations(
[('conditional', 'effect=zoom delay=2000 center=auto start=0 end=100 time=800 condition=true ',), (
'conditional',
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
'conditional',
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
('WindowClose', 'effect=zoom center=auto start=100% end=-0% time=600 condition=true',)])
self.addControl(self.fanart)
self.fanart.setAnimations(
[('WindowOpen', 'effect=slide start=0,-700 delay=1000 time=2500 tween=bounce condition=true',), (
'conditional',
'effect=rotate center=auto start=0% end=360% delay=3000 time=2500 tween=bounce condition=true',),
'conditional',
'effect=rotate center=auto start=0% end=360% delay=3000 time=2500 tween=bounce condition=true',),
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
self.addControl(self.title)
self.title.setText(self.getTitle)
@@ -742,14 +743,14 @@ def get_art(item):
if id == None:
if item.contentType == "movie":
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+tv+series+site:imdb.com" % (
item.fulltitle.replace(' ', '+'), year)
item.fulltitle.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "", data)
subdata_imdb = scrapertools.find_single_match(data,
'<li class="b_algo">(.*?)h="ID.*?<strong>.*?TV Series')
else:
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+site:imdb.com" % (
item.fulltitle.replace(' ', '+'), year)
item.fulltitle.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "", data)
subdata_imdb = scrapertools.find_single_match(data, '<li class="b_algo">(.*?)h="ID.*?<strong>')
@@ -769,7 +770,7 @@ def get_art(item):
title = scrapertools.find_single_match(item.fulltitle, '\(.*?\)')
if item.contentType != "movie":
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+tv+series+site:imdb.com" % (
title.replace(' ', '+'), year)
title.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "",
data)
@@ -777,7 +778,7 @@ def get_art(item):
'<li class="b_algo">(.*?)h="ID.*?<strong>.*?TV Series')
else:
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+site:imdb.com" % (
title.replace(' ', '+'), year)
title.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "",
data)
+2 -1
View File
@@ -4,10 +4,11 @@ import re
import urllib
import urlparse
from core import config
from core import jsontools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import config, logger
host = "http://www.documaniatv.com/"
account = config.get_setting("documaniatvaccount", "documaniatv")
@@ -3,9 +3,9 @@
import re
from core import httptools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
HOST = "http://documentales-online.com/"
+2 -1
View File
@@ -6,12 +6,13 @@ import urlparse
from channels import autoplay
from channels import filtertools
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
IDIOMAS = {'latino': 'Latino'}
list_language = IDIOMAS.values()
+1 -1
View File
@@ -3,9 +3,9 @@
import re
import urlparse
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
host = "http://doramastv.com/"
DEFAULT_HEADERS = []
+18 -18
View File
@@ -7,14 +7,15 @@ import os
import re
import time
from core import config
from core import filetools
from core import videolibrarytools
from core import logger
from core import scraper
from core import scrapertools
from core import servertools
from core import videolibrarytools
from core.downloader import Downloader
from core.item import Item
from platformcode import config, logger
from platformcode import platformtools
STATUS_COLORS = {0: "orange", 1: "orange", 2: "green", 3: "red"}
@@ -51,7 +52,7 @@ def mainlist(item):
itemlist):
title = TITLE_TVSHOW % (
STATUS_COLORS[i.downloadStatus], i.downloadProgress, i.contentSerieName, i.contentChannel)
STATUS_COLORS[i.downloadStatus], i.downloadProgress, i.contentSerieName, i.contentChannel)
itemlist.append(Item(title=title, channel="descargas", action="mainlist", contentType="tvshow",
contentSerieName=i.contentSerieName, contentChannel=i.contentChannel,
@@ -60,9 +61,8 @@ def mainlist(item):
else:
s = \
filter(
lambda x: x.contentSerieName == i.contentSerieName and x.contentChannel == i.contentChannel,
itemlist)[0]
filter(lambda x: x.contentSerieName == i.contentSerieName and x.contentChannel == i.contentChannel,
itemlist)[0]
s.downloadProgress.append(i.downloadProgress)
downloadProgress = sum(s.downloadProgress) / len(s.downloadProgress)
@@ -71,7 +71,7 @@ def mainlist(item):
s.downloadStatus = i.downloadStatus
s.title = TITLE_TVSHOW % (
STATUS_COLORS[s.downloadStatus], downloadProgress, i.contentSerieName, i.contentChannel)
STATUS_COLORS[s.downloadStatus], downloadProgress, i.contentSerieName, i.contentChannel)
# Peliculas
elif i.contentType == "movie" or i.contentType == "video":
@@ -149,7 +149,7 @@ def clean_all(item):
if fichero.endswith(".json"):
download_item = Item().fromjson(filetools.read(os.path.join(DOWNLOAD_LIST_PATH, fichero)))
if not item.contentType == "tvshow" or (
item.contentSerieName == download_item.contentSerieName and item.contentChannel == download_item.contentChannel):
item.contentSerieName == download_item.contentSerieName and item.contentChannel == download_item.contentChannel):
filetools.remove(os.path.join(DOWNLOAD_LIST_PATH, fichero))
platformtools.itemlist_refresh()
@@ -161,7 +161,7 @@ def clean_ready(item):
if fichero.endswith(".json"):
download_item = Item().fromjson(filetools.read(os.path.join(DOWNLOAD_LIST_PATH, fichero)))
if not item.contentType == "tvshow" or (
item.contentSerieName == download_item.contentSerieName and item.contentChannel == download_item.contentChannel):
item.contentSerieName == download_item.contentSerieName and item.contentChannel == download_item.contentChannel):
if download_item.downloadStatus == STATUS_CODES.completed:
filetools.remove(os.path.join(DOWNLOAD_LIST_PATH, fichero))
@@ -175,7 +175,7 @@ def restart_error(item):
download_item = Item().fromjson(filetools.read(os.path.join(DOWNLOAD_LIST_PATH, fichero)))
if not item.contentType == "tvshow" or (
item.contentSerieName == download_item.contentSerieName and item.contentChannel == download_item.contentChannel):
item.contentSerieName == download_item.contentSerieName and item.contentChannel == download_item.contentChannel):
if download_item.downloadStatus == STATUS_CODES.error:
if filetools.isfile(
os.path.join(config.get_setting("downloadpath"), download_item.downloadFilename)):
@@ -196,7 +196,7 @@ def download_all(item):
filetools.read(os.path.join(DOWNLOAD_LIST_PATH, fichero)))
if not item.contentType == "tvshow" or (
item.contentSerieName == download_item.contentSerieName and item.contentChannel == download_item.contentChannel):
item.contentSerieName == download_item.contentSerieName and item.contentChannel == download_item.contentChannel):
if download_item.downloadStatus in [STATUS_CODES.stoped, STATUS_CODES.canceled]:
res = start_download(download_item)
platformtools.itemlist_refresh()
@@ -339,7 +339,7 @@ def get_server_position(server):
if server in servers:
pos = [s for s in sorted(servers, key=lambda x: (sum(servers[x]["speeds"]) / (len(servers[x]["speeds"]) or 1),
float(sum(servers[x]["success"])) / (
len(servers[x]["success"]) or 1)), reverse=True)]
len(servers[x]["success"]) or 1)), reverse=True)]
return pos.index(server) + 1
else:
return 0
@@ -532,7 +532,7 @@ def download_from_server(item):
return {"downloadStatus": STATUS_CODES.error}
progreso.close()
logger.info("contentAction: %s | contentChannel: %s | server: %s | url: %s" % (
item.contentAction, item.contentChannel, item.server, item.url))
item.contentAction, item.contentChannel, item.server, item.url))
if not item.server or not item.url or not item.contentAction == "play" or item.server in unsupported_servers:
logger.error("El Item no contiene los parametros necesarios.")
@@ -677,7 +677,7 @@ def start_download(item):
def get_episodes(item):
logger.info("contentAction: %s | contentChannel: %s | contentType: %s" % (
item.contentAction, item.contentChannel, item.contentType))
item.contentAction, item.contentChannel, item.contentType))
# El item que pretendemos descargar YA es un episodio
if item.contentType == "episode":
@@ -727,7 +727,7 @@ def get_episodes(item):
episode.contentTitle = re.sub("\[[^\]]+\]|\([^\)]+\)|\d*x\d*\s*-", "", episode.title).strip()
episode.downloadFilename = filetools.validate_path(os.path.join(item.downloadFilename, "%dx%0.2d - %s" % (
episode.contentSeason, episode.contentEpisodeNumber, episode.contentTitle.strip())))
episode.contentSeason, episode.contentEpisodeNumber, episode.contentTitle.strip())))
itemlist.append(episode)
# Cualquier otro resultado no nos vale, lo ignoramos
@@ -785,7 +785,7 @@ def save_download(item):
def save_download_video(item):
logger.info("contentAction: %s | contentChannel: %s | contentTitle: %s" % (
item.contentAction, item.contentChannel, item.contentTitle))
item.contentAction, item.contentChannel, item.contentTitle))
set_movie_title(item)
@@ -802,7 +802,7 @@ def save_download_video(item):
def save_download_movie(item):
logger.info("contentAction: %s | contentChannel: %s | contentTitle: %s" % (
item.contentAction, item.contentChannel, item.contentTitle))
item.contentAction, item.contentChannel, item.contentTitle))
progreso = platformtools.dialog_progress("Descargas", "Obteniendo datos de la pelicula")
@@ -830,7 +830,7 @@ def save_download_movie(item):
def save_download_tvshow(item):
logger.info("contentAction: %s | contentChannel: %s | contentType: %s | contentSerieName: %s" % (
item.contentAction, item.contentChannel, item.contentType, item.contentSerieName))
item.contentAction, item.contentChannel, item.contentType, item.contentSerieName))
progreso = platformtools.dialog_progress("Descargas", "Obteniendo datos de la serie")
@@ -3,9 +3,9 @@
import re
import urlparse
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
def mainlist(item):
+1 -1
View File
@@ -3,9 +3,9 @@
import re
import urlparse
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
BASE_URL = 'http://www.elitetorrent.wesconference.net'
@@ -3,10 +3,10 @@
import re
import urlparse
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
def mainlist(item):
+1 -1
View File
@@ -5,7 +5,7 @@ import urlparse
from core import httptools
from core import jsontools
from platformcode import logger
from core import logger
def mainlist(item):
+1 -1
View File
@@ -3,9 +3,9 @@
import re
import urlparse
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
def mainlist(item):
+2 -1
View File
@@ -4,12 +4,13 @@ import re
from channels import autoplay
from channels import filtertools
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
host = 'http://www.estadepelis.com/'
headers = [['User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'],
+4 -5
View File
@@ -3,12 +3,13 @@
import re
from core import channeltools
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
HOST = 'http://estrenosli.org/'
parameters = channeltools.get_channel_parameters('estrenosgo')
@@ -164,17 +165,15 @@ def findvideos(item):
if s:
itemlist.append(item.clone(url=s[0][1], action="play", folder=False, server=s[0][2],
title="Ver %s en %s%s" % (
capitulo.strip(), s[0][2].capitalize(), idioma),
capitulo.strip(), s[0][2].capitalize(), idioma),
thumbnail2=item.thumbnail,
thumbnail=config.get_thumb("server_" + s[0][2] + ".png")))
else:
import os
for s in servertools.findvideos(data):
itemlist.append(item.clone(url=s[1], action="play", folder=False, server=s[2],
title="Ver en %s%s" % (s[2].capitalize(), idioma),
thumbnail2=item.thumbnail,
thumbnail=os.path.join(config.get_runtime_path(), "resources", "media",
"servers", "server_" + s[2] + ".png")))
thumbnail=config.get_thumb("server_" + s[2] + ".png")))
# Insertar items "Buscar trailer" y "Añadir a la videoteca"
if itemlist and item.extra == "movie":
+3 -2
View File
@@ -6,10 +6,11 @@
import os
import time
from core import config
from core import filetools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import config, logger
from platformcode import platformtools
try:
@@ -147,7 +148,7 @@ def readbookmark(filepath):
logger.info()
import urllib
bookmarkfile = filetools.file_open(filepath)
bookmarkfile = filetools.open_for_reading(filepath)
lines = bookmarkfile.readlines()
@@ -3,9 +3,10 @@
import os
import re
from core import config
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import config, logger
def strip_tags(value):
+3 -1
View File
@@ -3,9 +3,11 @@
# filtertools - se encarga de filtrar resultados
# ------------------------------------------------------------
from core import config
from core import filetools
from core import jsontools
from core import logger
from core.item import Item
from platformcode import config, logger
from platformcode import platformtools
TAG_TVSHOW_FILTER = "TVSHOW_FILTER"
+4 -3
View File
@@ -3,10 +3,11 @@
import re
import urlparse
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import config, logger
host = "http://www.freecambay.com"
@@ -96,7 +97,7 @@ def lista(item):
next_page = re.sub(r'&from=(\d+)', '&from=%s' % next_page, item.url)
else:
next_page = "%s?mode=async&function=get_block&block_id=list_videos_common_videos_list&sort_by=post_date&from=%s" % (
item.url, next_page)
item.url, next_page)
itemlist.append(item.clone(action="lista", title=">> Página Siguiente", url=next_page))
return itemlist
@@ -249,7 +250,7 @@ def tags(item):
bloque = scrapertools.find_single_match(data,
'>%s</strong>(.*?)(?:(?!%s)(?!#)[A-Z#]{1}</strong>|<div class="footer-margin">)' % (
item.extra, item.extra))
item.extra, item.extra))
matches = scrapertools.find_multiple_matches(bloque, '<a href="([^"]+)">\s*(.*?)</a>')
for url, title in matches[item.length:item.length + 100]:
itemlist.append(Item(channel=item.channel, action="lista", url=url, title=title))
+1 -1
View File
@@ -3,10 +3,10 @@
import re
import urlparse
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
def mainlist(item):
@@ -3,10 +3,10 @@
import re
import urlparse
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
def mainlist(item):
+2 -1
View File
@@ -5,12 +5,13 @@ import re
import urllib
import urlparse
from core import config
from core import httptools
from core import jsontools
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
from platformcode import platformtools
host = "http://hdfull.tv"
@@ -3,10 +3,10 @@
import re
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
host = 'http://www.xn--hentaienespaol-1nb.net/'
headers = [['User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'],
+1 -1
View File
@@ -4,9 +4,9 @@ import re
import urlparse
from core import httptools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
CHANNEL_HOST = "http://hentai-id.tv/"
+1 -1
View File
@@ -3,10 +3,10 @@
import re
from core import httptools
from core import logger
from core import scrapertools
from core import tmdb
from core.item import Item
from platformcode import logger
host = 'http://www.idocumentales.net'
+47 -54
View File
@@ -8,11 +8,12 @@ from threading import Thread
import xbmc
import xbmcgui
from core import config
from core import logger
from core import scrapertools
from core import tmdb
from core.item import Item
from core.scrapertools import decodeHtmlentities as dhe
from platformcode import config, logger
from platformcode import platformtools
mainWindow = list()
@@ -211,13 +212,12 @@ class main(xbmcgui.WindowDialog):
try:
if self.item.contentType == "movie":
self.infoLabels["fanart"] = \
self.images.get("moviebackground",
self.images.get("hdmovieclearart", self.images.get("movieart")))[
0].get("url")
self.images.get("moviebackground", self.images.get("hdmovieclearart", self.images.get("movieart")))[
0].get("url")
else:
self.infoLabels["fanart"] = \
self.images.get("showbackground", self.images.get("hdclearart", self.images.get("clearart")))[
0].get("url")
self.images.get("showbackground", self.images.get("hdclearart", self.images.get("clearart")))[
0].get("url")
except:
self.infoLabels["fanart"] = 'http://i.imgur.com/XuXGXjN.jpg'
import traceback
@@ -245,9 +245,8 @@ class main(xbmcgui.WindowDialog):
break
if not find:
self.infoLabels["thumbnail"] = \
self.images.get("hdtvlogo", self.images.get("clearlogo", self.images.get("tvthumb")))[
0].get(
"url")
self.images.get("hdtvlogo", self.images.get("clearlogo", self.images.get("tvthumb")))[0].get(
"url")
else:
self.infoLabels["thumbnail"] = self.images.get("hdtvlogo", self.images.get("clearlogo", ))[0].get(
"url")
@@ -258,7 +257,7 @@ class main(xbmcgui.WindowDialog):
logger.error(traceback.format_exc())
elif not self.item.rating_filma or "image.tmdb.org" in self.infoLabels.get("thumbnail",
"") or not self.infoLabels.get(
"thumbnail"):
"thumbnail"):
self.infoLabels["thumbnail"] = 'http://i.imgur.com/8K5f4Uo.png'
self.name = re.sub(r'(\[.*?\])', '', self.infoLabels["title"])
@@ -290,8 +289,8 @@ class main(xbmcgui.WindowDialog):
self.addControl(self.fanart)
self.fanart.setAnimations([('conditional', 'effect=rotatey start=100% end=0% time=1500 condition=true',),
('unfocus', 'effect=zoom start=110% end=100% time=1000 tween=elastic easing=out',), (
'WindowClose',
'effect=rotatey delay= 1000 start=0% end=-300% time=800 condition=true',)])
'WindowClose',
'effect=rotatey delay= 1000 start=0% end=-300% time=800 condition=true',)])
self.addControl(self.background)
self.addControl(self.critica_image)
@@ -353,8 +352,8 @@ class main(xbmcgui.WindowDialog):
self.addControl(self.thumbnail)
self.thumbnail.setAnimations(
[('conditional', 'effect=zoom delay=2000 center=auto start=0 end=100 time=800 condition=true',), (
'conditional',
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
'conditional',
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
('WindowClose', 'effect=zoom start=100% end=0% time=600 condition=true',)])
else:
self.thumbnail = xbmcgui.ControlButton(813, 0, 390, 150, '', self.infoLabels.get("thumbnail", ""),
@@ -362,8 +361,8 @@ class main(xbmcgui.WindowDialog):
self.addControl(self.thumbnail)
self.thumbnail.setAnimations(
[('conditional', 'effect=zoom delay=2000 center=auto start=0 end=100 time=800 condition=true',), (
'conditional',
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
'conditional',
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
('unfocus', 'effect=zoom start=105% end=100% time=1000 tween=elastic easing=out',),
('focus', 'effect=zoom start=80% end=100% time=700',),
('WindowClose', 'effect=zoom start=100% end=0% time=600 condition=true',)])
@@ -372,8 +371,8 @@ class main(xbmcgui.WindowDialog):
self.addControl(self.icon)
self.icon.setAnimations(
[('conditional', 'effect=slide start=0,-700 delay=2000 time=2500 tween=bounce condition=true',), (
'conditional',
'effect=rotate center=auto start=0% end=360% delay=3000 time=2500 tween=bounce condition=true',),
'conditional',
'effect=rotate center=auto start=0% end=360% delay=3000 time=2500 tween=bounce condition=true',),
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
self.addControl(self.fa_icon)
self.fa_icon.setAnimations(
@@ -408,10 +407,9 @@ class main(xbmcgui.WindowDialog):
self.addControl(self.btn_left)
self.btn_left.setAnimations(
[('conditional', 'effect=zoom start=-100 end=100 delay=5000 time=2000 condition=true tween=bounce',), (
'conditional',
'effect=zoom start=720,642,70,29 end=640,642,69,29 time=1000 loop=true tween=bounce condition=Control.HasFocus(' + str(
self.btn_left.getId()) + ')',),
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
'conditional',
'effect=zoom start=720,642,70,29 end=640,642,69,29 time=1000 loop=true tween=bounce condition=Control.HasFocus(' + str(
self.btn_left.getId()) + ')',), ('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
self.btn_left.setVisible(False)
self.botones.append(self.btn_left)
if thread1:
@@ -443,8 +441,8 @@ class main(xbmcgui.WindowDialog):
'effect=rotatey start=200 end=0 delay=6200 time=900 tween=elastic condition=true',),
('unfocus',
'effect=zoom center=auto start=70% end=100% time=700 reversible=false',), (
'focus',
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce',),
'focus',
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce',),
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
self.addControl(fadelabel)
fadelabel.addLabel(peli)
@@ -474,9 +472,9 @@ class main(xbmcgui.WindowDialog):
self.addControl(self.btn_right)
self.btn_right.setAnimations(
[('conditional', 'effect=slide start=-3000 end=0 delay=6200 time=2000 condition=true tween=bounce',), (
'conditional',
'effect=zoom start=230,490, 60, 27, 29 end=1230,642,61,27 time=1000 loop=true tween=bounce condition=Control.HasFocus(' + str(
self.btn_right.getId()) + ')',),
'conditional',
'effect=zoom start=230,490, 60, 27, 29 end=1230,642,61,27 time=1000 loop=true tween=bounce condition=Control.HasFocus(' + str(
self.btn_right.getId()) + ')',),
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
self.botones.append(self.btn_right)
xbmc.sleep(200)
@@ -768,11 +766,10 @@ class related(xbmcgui.WindowDialog):
try:
if self.item.contentType == "movie":
self.infoLabels["fanart"] = \
images.get("moviebackground", images.get("hdmovieclearart", images.get("movieart")))[0].get(
"url")
images.get("moviebackground", images.get("hdmovieclearart", images.get("movieart")))[0].get("url")
else:
self.infoLabels["fanart"] = \
images.get("showbackground", images.get("hdclearart", images.get("clearart")))[0].get("url")
images.get("showbackground", images.get("hdclearart", images.get("clearart")))[0].get("url")
except:
import traceback
logger.error(traceback.format_exc())
@@ -826,8 +823,7 @@ class related(xbmcgui.WindowDialog):
self.info_peli.setText(self.info)
self.info_peli.setAnimations(
[('conditional', 'effect=fade start=0% end=100% delay=3600 time=800 condition=true',), (
'conditional',
'effect=slide delay=1000 start=0,-500 delay=2600 time=2200 tween=bounce condition=true',),
'conditional', 'effect=slide delay=1000 start=0,-500 delay=2600 time=2200 tween=bounce condition=true',),
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
self.poster_peli = xbmcgui.ControlImage(210, 90, 230, 260, self.infoLabels.get("thumbnail", ""))
@@ -935,13 +931,12 @@ class related(xbmcgui.WindowDialog):
self.seasons = xbmcgui.ControlFadeLabel(413, 485, 400, 60, self.fonts["12"])
self.addControl(self.seasons)
temporadas = " [COLOR yellowgreen][B]%s/%s[/B][/COLOR]" % (
self.infoLabels.get("number_of_seasons"), self.infoLabels.get("number_of_episodes", "---"))
self.infoLabels.get("number_of_seasons"), self.infoLabels.get("number_of_episodes", "---"))
self.seasons.addLabel(temporadas)
self.seasons.setAnimations([('conditional',
'effect=slide start=0,-700 delay=5600 time=700 condition=true tween=circle easing=in',),
(
'WindowClose',
'effect=slide end=0,-7000% delay=300 time=700 condition=true',)])
'WindowClose', 'effect=slide end=0,-7000% delay=300 time=700 condition=true',)])
i = 0
sleep = 0
@@ -1032,9 +1027,9 @@ class related(xbmcgui.WindowDialog):
'effect=rotate delay=4000 center=auto start=0% end=360% time=2500 condition=true ',),
('unfocus',
'effect=zoom center=auto start=70% end=100% time=700 reversible=false',), (
'conditional',
'effect=rotate center=auto start=0% end=360% reversible=false time=2000 loop=true condition=Control.HasFocus(' + str(
self.trailer_r.getId()) + ')'),
'conditional',
'effect=rotate center=auto start=0% end=360% reversible=false time=2000 loop=true condition=Control.HasFocus(' + str(
self.trailer_r.getId()) + ')'),
('WindowClose', 'effect=slide end=2000 time=700 condition=true',)])
self.botones.append(self.trailer_r)
@@ -1072,9 +1067,9 @@ class related(xbmcgui.WindowDialog):
self.buscar.setAnimations([('conditional', 'effect=slide start=0,700 delay=6000 time=200 condition=true',),
('unfocus',
'effect=zoom center=auto start=70% end=100% time=700 reversible=false',), (
'conditional',
'effect=zoom center=auto start=100% end=120% reversible=false tween=bounce time=1000 loop=true condition=Control.HasFocus(' + str(
self.buscar.getId()) + ')'),
'conditional',
'effect=zoom center=auto start=100% end=120% reversible=false tween=bounce time=1000 loop=true condition=Control.HasFocus(' + str(
self.buscar.getId()) + ')'),
('WindowClose', 'effect=rotatey end=-300 time=1500 condition=true',)])
self.global_search = xbmcgui.ControlButton(1046, 620, 140, 53, '', 'http://imgur.com/hoOvpHV.png',
'http://imgur.com/hoOvpHV.png')
@@ -1595,8 +1590,8 @@ class ActorInfo(xbmcgui.WindowDialog):
'effect=rotatey start=200 end=0 delay=2000 time=900 tween=elastic condition=true',),
('unfocus',
'effect=zoom center=auto start=70% end=100% time=700 reversible=false',), (
'focus',
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce',),
'focus',
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce',),
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',), ])
self.addControl(self.neon)
self.neon.setVisibleCondition('[Control.HasFocus(' + str(self.image.getId()) + ')]')
@@ -1624,10 +1619,9 @@ class ActorInfo(xbmcgui.WindowDialog):
self.addControl(self.btn_right)
self.btn_right.setAnimations(
[('conditional', 'effect=slide start=-3000 end=0 delay=5000 time=2000 condition=true tween=bounce',), (
'conditional',
'effect=zoom start=230,490, 60, 27, 29 end=1230,642,61,27 time=1000 loop=true tween=bounce condition=Control.HasFocus(' + str(
self.btn_right.getId()) + ')',),
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
'conditional',
'effect=zoom start=230,490, 60, 27, 29 end=1230,642,61,27 time=1000 loop=true tween=bounce condition=Control.HasFocus(' + str(
self.btn_right.getId()) + ')',), ('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
self.botones.append(self.btn_right)
xbmc.sleep(200)
@@ -1924,10 +1918,9 @@ class images(xbmcgui.WindowDialog):
self.addControl(self.btn_left)
self.btn_left.setAnimations(
[('conditional', 'effect=zoom start=-100 end=100 delay=5000 time=2000 condition=true tween=bounce',), (
'conditional',
'effect=zoom start=293,642,70,29 end=243,642,69,29 time=1000 loop=true tween=bounce condition=Control.HasFocus(' + str(
self.btn_left.getId()) + ')',),
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
'conditional',
'effect=zoom start=293,642,70,29 end=243,642,69,29 time=1000 loop=true tween=bounce condition=Control.HasFocus(' + str(
self.btn_left.getId()) + ')',), ('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
self.btn_left.setVisible(False)
self.botones.append(self.btn_left)
for img in self.imagenes:
@@ -1961,9 +1954,9 @@ class images(xbmcgui.WindowDialog):
self.addControl(self.btn_right)
self.btn_right.setAnimations(
[('conditional', 'effect=slide start=-3000 end=0 delay=3600 time=2000 condition=true tween=bounce',), (
'conditional',
'effect=zoom start=230,490, 60, 27, 29 end=1190,642,61,27 time=1000 loop=true tween=bounce condition=Control.HasFocus(' + str(
self.btn_right.getId()) + ')',),
'conditional',
'effect=zoom start=230,490, 60, 27, 29 end=1190,642,61,27 time=1000 loop=true tween=bounce condition=Control.HasFocus(' + str(
self.btn_right.getId()) + ')',),
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
self.botones.append(self.btn_right)
xbmc.sleep(200)
+2 -1
View File
@@ -2,12 +2,13 @@
import re
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
__modo_grafico__ = config.get_setting("modo_grafico", "inkapelis")
__perfil__ = config.get_setting("perfil", "inkapelis")
+2 -1
View File
@@ -2,9 +2,10 @@
import urlparse
from core import config
from core import httptools
from core import logger
from core import scrapertools
from platformcode import config, logger
host = "http://www.javtasty.com"
+1 -1
View File
@@ -3,9 +3,9 @@
import re
from core import httptools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
host = 'http://javus.net/'
+1 -1
View File
@@ -3,9 +3,9 @@
import re
import urlparse
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
def mainlist(item):
+2 -1
View File
@@ -2,12 +2,13 @@
import re
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
__modo_grafico__ = config.get_setting("modo_grafico", "lacajita")
__perfil__ = config.get_setting("perfil", "lacajita")
+2 -1
View File
@@ -5,11 +5,12 @@ import urlparse
from channels import autoplay
from channels import filtertools
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
IDIOMAS = {'Latino': 'Latino', 'Español': 'Español', 'Sub español': 'VOS'}
list_language = IDIOMAS.values()
+26 -9
View File
@@ -1,16 +1,17 @@
# -*- coding: utf-8 -*-
import os
import re
import sys
import urllib
import urlparse
from channelselector import get_thumb
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core.item import Item
from core.tmdb import Tmdb
from platformcode import logger
host = "http://www.mejortorrent.com"
@@ -20,13 +21,13 @@ def mainlist(item):
itemlist = []
thumb_pelis = get_thumb("channels_movie.png")
thumb_pelis_hd = get_thumb("channels_movie_hd.png")
thumb_series = get_thumb("channels_tvshow.png")
thumb_series_hd = get_thumb("channels_tvshow_hd.png")
thumb_series_az = get_thumb("channels_tvshow_az.png")
thumb_docus = get_thumb("channels_documentary.png")
thumb_buscar = get_thumb("search.png")
thumb_pelis = get_thumbnail("thumb_channels_movie.png")
thumb_pelis_hd = get_thumbnail("thumb_channels_movie_hd.png")
thumb_series = get_thumbnail("thumb_channels_tvshow.png")
thumb_series_hd = get_thumbnail("thumb_channels_tvshow_hd.png")
thumb_series_az = get_thumbnail("thumb_channels_tvshow_az.png")
thumb_docus = get_thumbnail("thumb_channels_documentary.png")
thumb_buscar = get_thumbnail("thumb_search.png")
itemlist.append(Item(channel=item.channel, title="Peliculas", action="getlist",
url="http://www.mejortorrent.com/torrents-de-peliculas.html", thumbnail=thumb_pelis))
@@ -423,3 +424,19 @@ def play(item):
thumbnail=item.thumbnail, plot=item.plot, folder=False))
return itemlist
def get_thumbnail(thumb_name=None):
# img_path = config.get_runtime_path() + '/resources/images/squares'
img_path = config.get_thumb(thumb_name)
# if thumb_name:
# file_path = os.path.join(img_path, thumb_name)
# if os.path.isfile(file_path):
# thumb_path = file_path
# else:
# thumb_path = urlparse.urljoin(get_thumbnail_path(), thumb_name)
# else:
# thumb_path = urlparse.urljoin(get_thumbnail_path(), thumb_name)
return img_path
+3 -2
View File
@@ -5,11 +5,12 @@ import urlparse
from channels import autoplay
from channels import filtertools
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
IDIOMAS = {'la': 'Latino', 'es': 'Español', 'sub': 'VOS'}
list_language = IDIOMAS.values()
@@ -63,7 +64,7 @@ def todas(item):
data = httptools.downloadpage(item.url).data
data = re.sub(r'"|\n|\r|\t|&nbsp;|<br>|\s{2,}', "", data)
patron = '<div class=poster>.*?<a href=(.*?) title=(.*?)en(.*?)>.*?'
patron += '<div class=poster_efecto><span>(.*?)<.*?div>.*?<img.*?src=(.*?) class'
patron +='<div class=poster_efecto><span>(.*?)<.*?div>.*?<img.*?src=(.*?) class'
matches = re.compile(patron, re.DOTALL).findall(data)
for scrapedurl, scrapedtitle, lang, scrapedplot, scrapedthumbnail in matches:
+13 -13
View File
@@ -7,11 +7,12 @@ import urllib
import xbmc
import xbmcgui
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core.item import Item
from core.scrapertools import decodeHtmlentities as dhe
from platformcode import config, logger
ACTION_SHOW_FULLSCREEN = 36
ACTION_GESTURE_SWIPE_LEFT = 511
@@ -148,9 +149,9 @@ def peliculas(item):
dialog = xbmcgui.Dialog()
if dialog.yesno(
'[COLOR crimson][B]Sin resultados en[/B][/COLOR]' + '[COLOR gold][B] Mil[/B][/COLOR]' + '[COLOR floralwhite][B]torrents[/B][/COLOR]',
'[COLOR cadetblue]¿Quieres hacer una busqueda en Alfa?[/COLOR]',
'', "", '[COLOR crimson][B]No,gracias[/B][/COLOR]',
'[COLOR yellow][B]Si[/B][/COLOR]'):
'[COLOR cadetblue]¿Quieres hacer una busqueda en Alfa?[/COLOR]',
'', "", '[COLOR crimson][B]No,gracias[/B][/COLOR]',
'[COLOR yellow][B]Si[/B][/COLOR]'):
item.extra = "serie" + "|" + item.extra.split("|")[2]
return busqueda(item)
else:
@@ -180,9 +181,9 @@ def peliculas(item):
dialog = xbmcgui.Dialog()
if dialog.yesno(
'[COLOR crimson][B]Sin resultados en[/B][/COLOR]' + '[COLOR gold][B] Mil[/B][/COLOR]' + '[COLOR floralwhite][B]torrents[/B][/COLOR]',
'[COLOR cadetblue]¿Quieres hacer una busqueda en Alfa?[/COLOR]',
'', "", '[COLOR crimson][B]No,gracias[/B][/COLOR]',
'[COLOR yellow][B]Si[/B][/COLOR]'):
'[COLOR cadetblue]¿Quieres hacer una busqueda en Alfa?[/COLOR]',
'', "", '[COLOR crimson][B]No,gracias[/B][/COLOR]',
'[COLOR yellow][B]Si[/B][/COLOR]'):
item.extra = "movie" + "|" + item.extra.split("|")[2]
return busqueda(item)
@@ -563,7 +564,7 @@ def fanart(item):
matches = re.compile(patron, re.DOTALL).findall(data_tmdb)
if len(matches) == 0:
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+tv+series+site:imdb.com" % (
title.replace(' ', '+'), year)
title.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "", data)
try:
@@ -1414,14 +1415,14 @@ class TextBox2(xbmcgui.WindowDialog):
self.addControl(self.plot)
self.plot.setAnimations(
[('conditional', 'effect=zoom delay=2000 center=auto start=0 end=100 time=800 condition=true ',), (
'conditional',
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
'conditional',
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
('WindowClose', 'effect=zoom center=auto start=100% end=-0% time=600 condition=true',)])
self.addControl(self.fanart)
self.fanart.setAnimations(
[('WindowOpen', 'effect=slide start=0,-700 delay=1000 time=2500 tween=bounce condition=true',), (
'conditional',
'effect=rotate center=auto start=0% end=360% delay=3000 time=2500 tween=bounce condition=true',),
'conditional',
'effect=rotate center=auto start=0% end=360% delay=3000 time=2500 tween=bounce condition=true',),
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
self.addControl(self.title)
self.title.setText(self.getTitle)
@@ -1466,7 +1467,6 @@ def translate(to_translate, to_langage="auto", langage="auto"):
'User-Agent': "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)"}
before_trans = 'class="t0">'
link = "http://translate.google.com/m?hl=%s&sl=%s&q=%s" % (to_langage, langage, to_translate.replace(" ", "+"))
import urllib2
request = urllib2.Request(link, headers=agents)
page = urllib2.urlopen(request).read()
result = page[page.find(before_trans) + len(before_trans):]
+3 -5
View File
@@ -2,12 +2,13 @@
import re
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
tgenero = {"Comedia": "https://s7.postimg.org/ne9g9zgwb/comedia.png",
"Suspense": "https://s13.postimg.org/wmw6vl1cn/suspenso.png",
@@ -360,7 +361,6 @@ def findvideos(item):
elif video_url != '':
itemlist.extend(servertools.find_video_items(data=video_url[0]))
import os
for videoitem in itemlist:
if videoitem.server != 'directo':
@@ -370,9 +370,7 @@ def findvideos(item):
title = item.contentTitle + ' (%s) %s' % (quality, language)
videoitem.title = title
videoitem.channel = item.channel
videoitem.thumbnail = os.path.join(config.get_runtime_path(), "resources", "media", "servers",
"server_%s.png" % videoitem.server)
videoitem.thumbnail = config.get_thumb("server_%s.png" % videoitem.server)
videoitem.quality = item.quality
if item.infoLabels['mediatype'] == 'movie':
+2 -1
View File
@@ -4,10 +4,11 @@ import re
import urllib
import urlparse
from core import config
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
from platformcode import platformtools
MAIN_HEADERS = []
+3 -4
View File
@@ -5,12 +5,13 @@ import urlparse
from channels import autoplay
from channels import filtertools
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
host = "http://mundoflv.com"
thumbmx = 'http://flags.fmcdn.net/data/flags/normal/mx.png'
@@ -623,11 +624,9 @@ def findvideos(item):
itemlist = filtertools.get_link(itemlist, new_item, list_language)
import os
for videoitem in itemlist:
videoitem.infoLabels = item.infoLabels
videoitem.thumbnail = os.path.join(config.get_runtime_path(), "resources", "media", "servers",
"server_%s.png" % videoitem.server)
videoitem.thumbnail = config.get_thumb("server_%s.png" % videoitem.server)
# Requerido para AutoPlay
+1 -1
View File
@@ -4,9 +4,9 @@ import re
import urllib
import urlparse
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
def mainlist(item):
+3 -1
View File
@@ -2,11 +2,12 @@
import re
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
def mainlist(item):
@@ -421,6 +422,7 @@ def findvideos(item):
Item(channel=item.channel, action="play", server="torrent", title=title + " [torrent]", fulltitle=title,
url=url, thumbnail=caratula, plot=item.plot, folder=False))
logger.debug("matar %s" % data)
# escraped ver vídeos, descargar vídeos un link, múltiples liks
data = data.replace("'", '"')
+15 -15
View File
@@ -9,11 +9,11 @@ import re
import time
from threading import Thread
from channelselector import get_thumb
from core import channeltools
from core import config
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import config, logger
from platformcode import platformtools
THUMBNAILS = {'0': 'posters', '1': 'banners', '2': 'squares'}
@@ -40,7 +40,7 @@ def mainlist(item):
list_canales = get_channels_list()
if list_canales['peliculas']:
thumbnail = get_thumb("channels_movie.png")
thumbnail = config.get_thumb("thumb_channels_movie.png")
new_item = Item(channel=item.channel, action="novedades", extra="peliculas", title="Películas",
thumbnail=thumbnail)
@@ -52,7 +52,7 @@ def mainlist(item):
itemlist.append(new_item)
if list_canales['infantiles']:
thumbnail = get_thumb("channels_children.png")
thumbnail = config.get_thumb("thumb_channels_children.png")
new_item = Item(channel=item.channel, action="novedades", extra="infantiles", title="Para niños",
thumbnail=thumbnail)
new_item.context = [{"title": "Canales incluidos en: %s" % new_item.title,
@@ -63,7 +63,7 @@ def mainlist(item):
itemlist.append(new_item)
if list_canales['series']:
thumbnail = get_thumb("channels_tvshow.png")
thumbnail = config.get_thumb("thumb_channels_tvshow.png")
new_item = Item(channel=item.channel, action="novedades", extra="series", title="Episodios de series",
thumbnail=thumbnail)
new_item.context = [{"title": "Canales incluidos en: %s" % new_item.title,
@@ -74,7 +74,7 @@ def mainlist(item):
itemlist.append(new_item)
if list_canales['anime']:
thumbnail = get_thumb("channels_anime.png")
thumbnail = config.get_thumb("thumb_channels_anime.png")
new_item = Item(channel=item.channel, action="novedades", extra="anime", title="Episodios de anime",
thumbnail=thumbnail)
new_item.context = [{"title": "Canales incluidos en: %s" % new_item.title,
@@ -85,7 +85,7 @@ def mainlist(item):
itemlist.append(new_item)
if list_canales['documentales']:
thumbnail = get_thumb("channels_documentary.png")
thumbnail = config.get_thumb("thumb_channels_documentary.png")
new_item = Item(channel=item.channel, action="novedades", extra="documentales", title="Documentales",
thumbnail=thumbnail)
new_item.context = [{"title": "Canales incluidos en: %s" % new_item.title,
@@ -205,7 +205,7 @@ def novedades(item):
time.sleep(0.5)
pendent = [a for a in threads if a.isAlive()]
mensaje = "Resultados obtenidos: %s | Tiempo: %2.f segundos" % (len(list_newest), time.time() - start_time)
mensaje = "Resultados obtenidos: %s | Tiempo: %2.f segundos" % (len(list_newest), time.time()-start_time)
progreso.update(100, mensaje, " ", " ")
logger.info(mensaje)
start_time = time.time()
@@ -404,28 +404,28 @@ def show_channels(item):
def menu_opciones(item):
itemlist = list()
itemlist.append(Item(channel=item.channel, title="Canales incluidos en:",
thumbnail=get_thumb("setting_0.png"),
thumbnail=config.get_thumb("thumb_setting_0.png"),
folder=False))
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="peliculas", title=" - Películas ",
thumbnail=get_thumb("channels_movie.png"),
thumbnail=config.get_thumb("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"),
thumbnail=config.get_thumb("thumb_channels_children.png"),
folder=False))
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="series",
title=" - Episodios de series",
thumbnail=get_thumb("channels_tvshow.png"),
thumbnail=config.get_thumb("thumb_channels_tvshow.png"),
folder=False))
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="anime",
title=" - Episodios de anime",
thumbnail=get_thumb("channels_anime.png"),
thumbnail=config.get_thumb("thumb_channels_anime.png"),
folder=False))
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="documentales",
title=" - Documentales",
thumbnail=get_thumb("channels_documentary.png"),
thumbnail=config.get_thumb("thumb_channels_documentary.png"),
folder=False))
itemlist.append(Item(channel=item.channel, action="settings", title="Otros ajustes",
thumbnail=get_thumb("setting_0.png"),
thumbnail=config.get_thumb("thumb_setting_0.png"),
folder=False))
return itemlist
+1 -1
View File
@@ -5,8 +5,8 @@ import hashlib
import urlparse
from core import httptools
from core import logger
from core import scrapertools
from platformcode import logger
host = "https://www.nuvid.com"
+13 -13
View File
@@ -7,11 +7,12 @@ import urllib
import xbmc
import xbmcgui
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core.item import Item
from core.scrapertools import decodeHtmlentities as dhe
from platformcode import config, logger
from platformcode import platformtools
ACTION_SHOW_FULLSCREEN = 36
@@ -174,9 +175,9 @@ def peliculas(item):
dialog = xbmcgui.Dialog()
if dialog.yesno(
'[COLOR crimson][B]Sin resultados en[/B][/COLOR]' + '[COLOR gold][B] Pasate[/B][/COLOR]' + '[COLOR floralwhite][B]A[/B][/COLOR]' + '[COLOR yellow][B]Torrent[/B][/COLOR]',
'[COLOR cadetblue]¿Quieres hacer una busqueda en Alfa?[/COLOR]',
'', "", '[COLOR crimson][B]No,gracias[/B][/COLOR]',
'[COLOR yellow][B]Si[/B][/COLOR]'):
'[COLOR cadetblue]¿Quieres hacer una busqueda en Alfa?[/COLOR]',
'', "", '[COLOR crimson][B]No,gracias[/B][/COLOR]',
'[COLOR yellow][B]Si[/B][/COLOR]'):
item.extra = "movie" + "|" + item.extra.split("|")[2]
return busqueda(item)
else:
@@ -186,9 +187,9 @@ def peliculas(item):
dialog = xbmcgui.Dialog()
if dialog.yesno(
'[COLOR crimson][B]Sin resultados en[/B][/COLOR]' + '[COLOR slateblue][B] Pasate[/B][/COLOR]' + '[COLOR floralwhite][B]A[/B][/COLOR]' + '[COLOR slateblue][B]Torrent[/B][/COLOR]',
'[COLOR cadetblue]¿Quieres hacer una busqueda en Alfa?[/COLOR]',
'', "", '[COLOR crimson][B]No,gracias[/B][/COLOR]',
'[COLOR yellow][B]Si[/B][/COLOR]'):
'[COLOR cadetblue]¿Quieres hacer una busqueda en Alfa?[/COLOR]',
'', "", '[COLOR crimson][B]No,gracias[/B][/COLOR]',
'[COLOR yellow][B]Si[/B][/COLOR]'):
item.extra = "serie" + "|" + item.extra.split("|")[2]
return busqueda(item)
else:
@@ -671,7 +672,7 @@ def fanart(item):
matches = re.compile(patron, re.DOTALL).findall(data_tmdb)
if len(matches) == 0:
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+tv+series+site:imdb.com" % (
title.replace(' ', '+'), year)
title.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "", data)
try:
@@ -1676,14 +1677,14 @@ class TextBox2(xbmcgui.WindowDialog):
self.addControl(self.plot)
self.plot.setAnimations(
[('conditional', 'effect=zoom delay=2000 center=auto start=0 end=100 time=800 condition=true ',), (
'conditional',
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
'conditional',
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
('WindowClose', 'effect=zoom center=auto start=100% end=-0% time=600 condition=true',)])
self.addControl(self.fanart)
self.fanart.setAnimations(
[('WindowOpen', 'effect=slide start=0,-700 delay=1000 time=2500 tween=bounce condition=true',), (
'conditional',
'effect=rotate center=auto start=0% end=360% delay=3000 time=2500 tween=bounce condition=true',),
'conditional',
'effect=rotate center=auto start=0% end=360% delay=3000 time=2500 tween=bounce condition=true',),
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
self.addControl(self.title)
self.title.setText(self.getTitle)
@@ -1728,7 +1729,6 @@ def translate(to_translate, to_langage="auto", langage="auto"):
'User-Agent': "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)"}
before_trans = 'class="t0">'
link = "http://translate.google.com/m?hl=%s&sl=%s&q=%s" % (to_langage, langage, to_translate.replace(" ", "+"))
import urllib2
request = urllib2.Request(link, headers=agents)
page = urllib2.urlopen(request).read()
result = page[page.find(before_trans) + len(before_trans):]
@@ -4,10 +4,10 @@ import re
import urlparse
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
HOST = 'http://peliculasaudiolatino.com'
+2 -1
View File
@@ -2,11 +2,12 @@
import re
from core import config
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from core.scrapertools import decodeHtmlentities as dhe
from platformcode import config, logger
try:
import xbmc
@@ -3,9 +3,9 @@
import re
import urlparse
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
def mainlist(item):
@@ -7,13 +7,14 @@ import urlparse
import xbmc
import xbmcgui
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from core.scrapertools import decodeHtmlentities as dhe
from platformcode import config, logger
ACTION_SHOW_FULLSCREEN = 36
ACTION_GESTURE_SWIPE_LEFT = 511
@@ -277,7 +278,7 @@ def fanart(item):
if posterdb == None:
if item.contentType != "movie":
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+tv+series+site:imdb.com" % (
title_imdb.replace(' ', '+'), year)
title_imdb.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "", data)
subdata_imdb = scrapertools.find_single_match(data,
@@ -302,14 +303,14 @@ def fanart(item):
title = scrapertools.find_single_match(title_imdb, '\(.*?\)')
if item.contentType != "movie":
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+tv+series+site:imdb.com" % (
title_imdb.replace(' ', '+'), year)
title_imdb.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "", data)
subdata_imdb = scrapertools.find_single_match(data,
'<li class="b_algo">(.*?)h="ID.*?<strong>.*?TV Series')
else:
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+site:imdb.com" % (
title_imdb.replace(' ', '+'), year)
title_imdb.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "", data)
subdata_imdb = scrapertools.find_single_match(data, '<li class="b_algo">(.*?)h="ID.*?<strong>')
@@ -902,14 +903,14 @@ class TextBox2(xbmcgui.WindowDialog):
self.addControl(self.plot)
self.plot.setAnimations(
[('conditional', 'effect=zoom delay=2000 center=auto start=0 end=100 time=800 condition=true ',), (
'conditional',
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
'conditional',
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
('WindowClose', 'effect=zoom center=auto start=100% end=-0% time=600 condition=true',)])
self.addControl(self.fanart)
self.fanart.setAnimations(
[('WindowOpen', 'effect=slide start=0,-700 delay=1000 time=2500 tween=bounce condition=true',), (
'conditional',
'effect=rotate center=auto start=0% end=360% delay=3000 time=2500 tween=bounce condition=true',),
'conditional',
'effect=rotate center=auto start=0% end=360% delay=3000 time=2500 tween=bounce condition=true',),
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
self.addControl(self.title)
self.title.setText(self.getTitle)
+2 -1
View File
@@ -3,11 +3,12 @@
import re
import urlparse
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
host = "http://www.peliculashindu.com/"
+1 -1
View File
@@ -3,9 +3,9 @@
import re
import urlparse
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
def mainlist(item):
+2 -1
View File
@@ -2,13 +2,14 @@
import urllib
from core import config
from core import httptools
from core import jsontools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
__modo_grafico__ = config.get_setting("modo_grafico", "peliculasnu")
__perfil__ = config.get_setting("perfil", "peliculasnu")
+1 -1
View File
@@ -3,10 +3,10 @@
import re
import urlparse
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
def mainlist(item):
+1 -1
View File
@@ -4,9 +4,9 @@ import re
import sys
from core import httptools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import logger
thumbnail_host = 'https://github.com/master-1970/resources/raw/master/images/squares/pelis24.PNG'
+2 -1
View File
@@ -3,10 +3,11 @@
import re
import urlparse
from core import config
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
def mainlist(item):
+1 -1
View File
@@ -3,10 +3,10 @@
import re
import urlparse
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
def mainlist(item):
+10 -9
View File
@@ -5,12 +5,13 @@ from threading import Thread
import xbmc
import xbmcgui
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
ACTION_SHOW_FULLSCREEN = 36
ACTION_GESTURE_SWIPE_LEFT = 511
@@ -595,14 +596,14 @@ class TextBox2(xbmcgui.WindowDialog):
self.addControl(self.plot)
self.plot.setAnimations(
[('conditional', 'effect=zoom delay=2000 center=auto start=0 end=100 time=800 condition=true ',), (
'conditional',
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
'conditional',
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
('WindowClose', 'effect=zoom center=auto start=100% end=-0% time=600 condition=true',)])
self.addControl(self.fanart)
self.fanart.setAnimations(
[('WindowOpen', 'effect=slide start=0,-700 delay=1000 time=2500 tween=bounce condition=true',), (
'conditional',
'effect=rotate center=auto start=0% end=360% delay=3000 time=2500 tween=bounce condition=true',),
'conditional',
'effect=rotate center=auto start=0% end=360% delay=3000 time=2500 tween=bounce condition=true',),
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
self.addControl(self.title)
self.title.setText(self.getTitle)
@@ -677,14 +678,14 @@ def get_art(item):
if id == None:
if item.contentType == "movie":
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+tv+series+site:imdb.com" % (
item.fulltitle.replace(' ', '+'), year)
item.fulltitle.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "", data)
subdata_imdb = scrapertools.find_single_match(data,
'<li class="b_algo">(.*?)h="ID.*?<strong>.*?TV Series')
else:
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+site:imdb.com" % (
item.fulltitle.replace(' ', '+'), year)
item.fulltitle.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "", data)
subdata_imdb = scrapertools.find_single_match(data, '<li class="b_algo">(.*?)h="ID.*?<strong>')
@@ -704,7 +705,7 @@ def get_art(item):
title = scrapertools.find_single_match(item.fulltitle, '\(.*?\)')
if item.contentType != "movie":
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+tv+series+site:imdb.com" % (
title.replace(' ', '+'), year)
title.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "",
data)
@@ -712,7 +713,7 @@ def get_art(item):
'<li class="b_algo">(.*?)h="ID.*?<strong>.*?TV Series')
else:
urlbing_imdb = "http://www.bing.com/search?q=%s+%s+site:imdb.com" % (
title.replace(' ', '+'), year)
title.replace(' ', '+'), year)
data = browser(urlbing_imdb)
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;|http://ssl-proxy.my-addr.org/myaddrproxy.php/", "",
data)
+2 -1
View File
@@ -2,12 +2,13 @@
import re
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import tmdb
from core.item import Item
from lib import jsunpack
from platformcode import config, logger
host = 'http://pelisencasa.net'
+14 -11
View File
@@ -2,13 +2,15 @@
import re
from core import config
from core import httptools
from core import jsontools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
from core import servertools
tgenero = {"Drama": "https://s16.postimg.org/94sia332d/drama.png",
u"Accción": "https://s3.postimg.org/y6o9puflv/accion.png",
@@ -237,9 +239,9 @@ def findvideos(item):
language=lang,
url=url
))
logger.debug('templist: %s' % templist)
logger.debug('templist: %s'%templist)
for videoitem in templist:
logger.debug('videoitem.language: %s' % videoitem.language)
logger.debug('videoitem.language: %s'%videoitem.language)
data = httptools.downloadpage(videoitem.url).data
data = re.sub(r'"|\n|\r|\t|&nbsp;|<br>|\s{2,}', "", data)
id = scrapertools.find_single_match(data, 'var _SOURCE =.*?source:(.*?),')
@@ -253,20 +255,21 @@ def findvideos(item):
data = httptools.downloadpage(new_url).data
url = scrapertools.find_single_match(data, '<iframe src="(.*?preview)"')
url = scrapertools.find_single_match (data, '<iframe src="(.*?preview)"')
title = videoitem.contentTitle + ' (' + audio[videoitem.language] + ')'
logger.debug('url: %s' % url)
logger.debug('url: %s'%url)
video_list.extend(servertools.find_video_items(data=url))
for urls in video_list:
if urls.language == '':
if urls.language=='':
urls.language = videoitem.language
urls.title = item.title + '(%s) (%s)' % (urls.language, urls.server)
logger.debug('video_list: %s' % video_list)
# itemlist.append(item.clone(title= title, url = url, action = 'play', subtitle = sub))
urls.title = item.title+'(%s) (%s)'%(urls.language, urls.server)
logger.debug('video_list: %s'%video_list)
#itemlist.append(item.clone(title= title, url = url, action = 'play', subtitle = sub))
for video_url in video_list:
video_url.channel = item.channel
video_url.action = 'play'
video_url.action ='play'
if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos':
itemlist.append(
+2 -1
View File
@@ -2,12 +2,13 @@
import re
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
tgenero = {"Comedia": "https://s7.postimg.org/ne9g9zgwb/comedia.png",
"Suspense": "https://s13.postimg.org/wmw6vl1cn/suspenso.png",
+3 -2
View File
@@ -3,11 +3,12 @@
import re
import unicodedata
from core import config
from core import httptools
from core import jsontools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import config, logger
host = "http://pelisipad.com/black_json/%s"
ext = "/list.js"
@@ -566,7 +567,7 @@ def listas(item):
from core import videolibrarytools
new_item = item.clone(title=title, url=url, fulltitle=title, fanart=fanart, extra="findvideos",
thumbnail=thumbnail, infoLabels=infolabels, category="Cine")
videolibrarytools.add_movie(new_item)
videolibrarytools.add_pelicula_to_library(new_item)
error = False
except:
error = True
+2 -1
View File
@@ -3,11 +3,12 @@
import re
import urllib
from core import config
from core import httptools
from core import jsontools
from core import logger
from core import scrapertools
from core.item import Item
from platformcode import config, logger
host = 'http://pelismag.net'
api = host + '/api'
+4 -4
View File
@@ -4,14 +4,14 @@ import re
import urllib
import urlparse
from channelselector import get_thumb
from core import channeltools
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
from platformcode import platformtools
__channel__ = "pelispedia"
@@ -90,7 +90,7 @@ def mainlist(item):
itemlist.append(Item(channel=__channel__, action="settings", title="Configuración", text_color=color1,
fanart=fanart_host, text_bold=True,
thumbnail=get_thumb("setting_0.png")))
thumbnail=config.get_thumb("thumb_setting_0.png")))
return itemlist
@@ -564,7 +564,7 @@ def play(item):
url = "http://player.pelispedia.tv/template/protected.php"
post = "fv=%s&url=%s&sou=%s&token=%s" % ("0", _id, "pic", token)
# eyJjdCI6IkVNYUd3Z2IwS2szSURzSGFGdkxGWlE9PSIsIml2IjoiZDI0NzhlYzU0OTZlYTJkNWFlOTFkZjAzZTVhZTNlNmEiLCJzIjoiOWM3MTM3MjNhMTkyMjFiOSJ9
# eyJjdCI6IkVNYUd3Z2IwS2szSURzSGFGdkxGWlE9PSIsIml2IjoiZDI0NzhlYzU0OTZlYTJkNWFlOTFkZjAzZTVhZTNlNmEiLCJzIjoiOWM3MTM3MjNhMTkyMjFiOSJ9
data = httptools.downloadpage(url, post=post).data
logger.debug("datito %s " % data)
+1 -1
View File
@@ -2,10 +2,10 @@
import re
from core import logger
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
def mainlist(item):
+14 -13
View File
@@ -1,15 +1,18 @@
# -*- coding: utf-8 -*-
import re
import sys
import urllib
import urlparse
from core import channeltools
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
from core import channeltools
from core import tmdb
host = "http://www.pelisplanet.com/"
@@ -21,7 +24,6 @@ fanart_host = parameters['fanart']
thumbnail_host = parameters['thumbnail']
color1, color2, color3 = ['0xFFA5F6AF', '0xFF5FDA6D', '0xFF11811E']
def mainlist(item):
logger.info()
itemlist = []
@@ -161,29 +163,28 @@ def peliculas(item):
for scrapedurl, calidad, year, scrapedtitle, scrapedthumbnail in matches:
datas = httptools.downloadpage(scrapedurl).data
datas = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", datas)
# logger.info(datas)
#logger.info(datas)
if '/ ' in scrapedtitle:
scrapedtitle = scrapedtitle.partition('/ ')[2]
contentTitle = scrapertools.find_single_match(datas, '<em class="pull-left">Titulo original: </em>([^<]+)</p>')
contentTitle = scrapertools.decodeHtmlentities(contentTitle.strip())
rating = scrapertools.find_single_match(datas, 'alt="Puntaje MPA IMDb" /></a><span>([^<]+)</span>')
director = scrapertools.find_single_match(datas,
'<div class="list-cast-info tableCell"><a href="[^"]+" rel="tag">([^<]+)</a></div>')
director = scrapertools.find_single_match(datas, '<div class="list-cast-info tableCell"><a href="[^"]+" rel="tag">([^<]+)</a></div>')
title = "%s [COLOR yellow][%s][/COLOR]" % (scrapedtitle.strip(), calidad.upper())
itemlist.append(Item(channel=item.channel, action="findvideos", title=title, plot='',
url=scrapedurl, contentQuality=calidad, thumbnail=scrapedthumbnail,
contentTitle=contentTitle,
infoLabels={"year": year, 'rating': rating, 'director': director},
contentTitle=contentTitle, infoLabels={"year": year, 'rating': rating, 'director': director},
text_color=color3))
tmdb.set_infoLabels(itemlist, seekTmdb=True)
paginacion = scrapertools.find_single_match(data, '<a class="nextpostslink" rel="next" href="([^"]+)">')
if paginacion:
itemlist.append(Item(channel=item.channel, action="peliculas",
title="» Siguiente »", url=paginacion, plot="Página Siguiente",
thumbnail='https://raw.githubusercontent.com/Inter95/tvguia/master/thumbnails/next.png'))
title="» Siguiente »", url=paginacion, plot="Página Siguiente",
thumbnail='https://raw.githubusercontent.com/Inter95/tvguia/master/thumbnails/next.png'))
for item in itemlist:
if item.infoLabels['plot'] == '':
@@ -242,11 +243,11 @@ def findvideos(item):
fanart = item.fanart
itemlist.append(item.clone(action="play", title=title, url=url, server='directo',
thumbnail=thumbnail, fanart=fanart, extra='directo',
quality=quality, language=language, ))
quality=quality, language=language,))
itemlist.sort(key=lambda it: it.title, reverse=True)
# if 'youtube' not in scrapedurl:
if 'youtube' not in scrapedurl:
if 'youtube' not in scrapedurl:
quality = scrapertools.find_single_match(
datas, '<p class="hidden-xs hidden-sm">.*?class="magnet-download">([^<]+)p</a>')
title = "[COLOR green]%s[/COLOR] [COLOR yellow][%s][/COLOR] [COLOR yellow][%s][/COLOR]" % (
+2 -1
View File
@@ -4,11 +4,12 @@ import re
from channels import autoplay
from channels import filtertools
from core import config
from core import httptools
from core import logger
from core import scrapertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
host = "http://www.pelisplus.tv/"
+1 -1
View File
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from core import httptools
from core import logger
from core import scrapertools
from platformcode import logger
def mainlist(item):

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