Revert "Created branch develop"
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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}| |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}| |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}| |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}| |http://ssl-proxy.my-addr.org/myaddrproxy.php/", "",
|
||||
data)
|
||||
|
||||
@@ -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/"
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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/"
|
||||
|
||||
|
||||
@@ -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/"
|
||||
|
||||
|
||||
@@ -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,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,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"))
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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 = ""
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,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"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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'],
|
||||
|
||||
@@ -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/"
|
||||
|
||||
|
||||
@@ -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')
|
||||
|
||||
|
||||
@@ -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(" ", "")
|
||||
year = scrapedyear.replace(" ","")
|
||||
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 [^>]+>»</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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,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| |<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",
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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}| |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}| |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}| |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}| |http://ssl-proxy.my-addr.org/myaddrproxy.php/", "",
|
||||
data)
|
||||
|
||||
@@ -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/"
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 = []
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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'],
|
||||
|
||||
@@ -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":
|
||||
|
||||
@@ -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,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"
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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'],
|
||||
|
||||
@@ -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/"
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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,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,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"
|
||||
|
||||
|
||||
@@ -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/'
|
||||
|
||||
|
||||
@@ -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,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")
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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| |<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:
|
||||
|
||||
@@ -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}| |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):]
|
||||
|
||||
@@ -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':
|
||||
|
||||
@@ -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 = []
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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("'", '"')
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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}| |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,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}| |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}| |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}| |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)
|
||||
|
||||
@@ -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/"
|
||||
|
||||
|
||||
@@ -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,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")
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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}| |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}| |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}| |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}| |http://ssl-proxy.my-addr.org/myaddrproxy.php/", "",
|
||||
data)
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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| |<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,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,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
|
||||
|
||||
@@ -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,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)
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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}| ", "", 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]" % (
|
||||
|
||||
@@ -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,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
Reference in New Issue
Block a user