diff --git a/plugin.video.alfa/channels/allpeliculas.py b/plugin.video.alfa/channels/allpeliculas.py
index 591163c3..0aabc854 100644
--- a/plugin.video.alfa/channels/allpeliculas.py
+++ b/plugin.video.alfa/channels/allpeliculas.py
@@ -6,6 +6,7 @@ from core import scrapertools
from core import servertools
from core import tmdb
from core.item import Item
+from channelselector import get_thumb
from platformcode import config, logger
__modo_grafico__ = config.get_setting('modo_grafico', "allpeliculas")
@@ -30,13 +31,14 @@ def mainlist(item):
item.text_color = color1
itemlist.append(item.clone(title="Películas", action="lista", fanart="http://i.imgur.com/c3HS8kj.png",
- url= host + "movies/newmovies?page=1", extra1 = 0))
+ url= host + "movies/newmovies?page=1", extra1 = 0,
+ thumbnail=get_thumb('movies', auto=True)))
itemlist.append(item.clone(title="Por genero", action="generos", fanart="http://i.imgur.com/c3HS8kj.png",
- url= host + "movies/getGanres"))
+ url= host + "movies/getGanres", thumbnail=get_thumb('genres', auto=True)))
itemlist.append(item.clone(title="Colecciones", action="colecciones", fanart="http://i.imgur.com/c3HS8kj.png",
- url= host))
+ url= host, thumbnail=get_thumb('colections', auto=True)))
itemlist.append(item.clone(title="", action=""))
- itemlist.append(item.clone(title="Buscar...", action="search"))
+ itemlist.append(item.clone(title="Buscar...", action="search", thumbnail=get_thumb('search', auto=True)))
return itemlist
diff --git a/plugin.video.alfa/channels/animeshd.py b/plugin.video.alfa/channels/animeshd.py
index bfa87adf..d7915a10 100644
--- a/plugin.video.alfa/channels/animeshd.py
+++ b/plugin.video.alfa/channels/animeshd.py
@@ -6,6 +6,7 @@ import urllib
from core import httptools
from core import scrapertools
from core import servertools
+from channelselector import get_thumb
from core import tmdb
from core.item import Item
from platformcode import logger, config
@@ -40,14 +41,14 @@ def mainlist(item):
itemlist.append(item.clone(title="Ultimas",
action="lista",
- thumbnail='https://s22.postimg.org/cb7nmhwv5/ultimas.png',
+ thumbnail=get_thumb('last', auto=True),
fanart='https://s22.postimg.org/cb7nmhwv5/ultimas.png',
url=host + '/ultimos'
))
itemlist.append(item.clone(title="Todas",
action="lista",
- thumbnail='https://s18.postimg.org/fwvaeo6qh/todas.png',
+ thumbnail=get_thumb('all', auto=True),
fanart='https://s18.postimg.org/fwvaeo6qh/todas.png',
url=host + '/buscar?t=todos&q='
))
@@ -55,14 +56,14 @@ def mainlist(item):
itemlist.append(item.clone(title="Generos",
action="generos",
url=host,
- thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png',
+ thumbnail=get_thumb('genres', auto=True),
fanart='https://s3.postimg.org/5s9jg2wtf/generos.png'
))
itemlist.append(item.clone(title="Buscar",
action="search",
url=host + '/buscar?t=todos&q=',
- thumbnail='https://s30.postimg.org/pei7txpa9/buscar.png',
+ thumbnail=get_thumb('search', auto=True),
fanart='https://s30.postimg.org/pei7txpa9/buscar.png'
))
diff --git a/plugin.video.alfa/channels/anitoonstv.py b/plugin.video.alfa/channels/anitoonstv.py
index f273670b..5fcc9900 100644
--- a/plugin.video.alfa/channels/anitoonstv.py
+++ b/plugin.video.alfa/channels/anitoonstv.py
@@ -27,7 +27,7 @@ host = "http://www.anitoonstv.com"
def mainlist(item):
logger.info()
- thumb_series = get_thumb("channels_tvshow.png")
+ thumb_series = get_thumb("tvshows", auto=True)
autoplay.init(item.channel, list_servers, list_quality)
itemlist = list()
diff --git a/plugin.video.alfa/channels/bajui.py b/plugin.video.alfa/channels/bajui.py
index 017562e3..fde86422 100644
--- a/plugin.video.alfa/channels/bajui.py
+++ b/plugin.video.alfa/channels/bajui.py
@@ -8,6 +8,7 @@ from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
+from channelselector import get_thumb
def mainlist(item):
@@ -15,13 +16,13 @@ def mainlist(item):
itemlist = []
itemlist.append(Item(channel=item.channel, title="Películas", action="menupeliculas",
url="http://www.bajui.org/descargas/categoria/2/peliculas",
- fanart=item.fanart))
+ fanart=item.fanart, thumbnail=get_thumb('movies', auto=True)))
itemlist.append(Item(channel=item.channel, title="Series", action="menuseries",
- fanart=item.fanart))
+ fanart=item.fanart, thumbnail=get_thumb('tvshows', auto=True)))
itemlist.append(Item(channel=item.channel, title="Documentales", action="menudocumentales",
- fanart=item.fanart))
+ fanart=item.fanart, thumbnail=get_thumb('documentaries', auto=True)))
itemlist.append(Item(channel=item.channel, title="Buscar", action="search",
- fanart=item.fanart))
+ fanart=item.fanart, thumbnail=get_thumb('search', auto=True)))
return itemlist
diff --git a/plugin.video.alfa/channels/canalpelis.py b/plugin.video.alfa/channels/canalpelis.py
index add2a7a7..cbea6079 100644
--- a/plugin.video.alfa/channels/canalpelis.py
+++ b/plugin.video.alfa/channels/canalpelis.py
@@ -15,6 +15,7 @@ from core.item import Item
from core import channeltools
from core import tmdb
from platformcode import config, logger
+from channelselector import get_thumb
__channel__ = "canalpelis"
@@ -51,24 +52,24 @@ def mainlist(item):
logger.info()
itemlist = []
- itemlist.append(item.clone(title="Peliculas", action="peliculas",thumbnail=thumbnail % 'peliculas',
+ itemlist.append(item.clone(title="Peliculas", action="peliculas",thumbnail=get_thumb('movies', auto=True),
text_blod=True, page=0, viewcontent='movies',
url=host + 'movies/', viewmode="movie_with_plot"))
- itemlist.append(item.clone(title="Géneros", action="generos",thumbnail=thumbnail % 'generos',
+ itemlist.append(item.clone(title="Géneros", action="generos",thumbnail=get_thumb('genres', auto=True),
text_blod=True, page=0, viewcontent='movies',
url=host + 'genre/', viewmode="movie_with_plot"))
- itemlist.append(item.clone(title="Año de Estreno", action="year_release",
- text_blod=True, page=0, viewcontent='movies',
- url=host + 'release/', viewmode="movie_with_plot"))
+ itemlist.append(item.clone(title="Año de Estreno", action="year_release", thumbnail=get_thumb('year', auto=True),
+ text_blod=True, page=0, viewcontent='movies', url=host + 'release/',
+ viewmode="movie_with_plot"))
- itemlist.append(item.clone(title="Buscar", action="search",thumbnail=thumbnail % 'busqueda',
+ itemlist.append(item.clone(title="Buscar", action="search",thumbnail=get_thumb('search', auto=True),
text_blod=True, url=host, page=0))
itemlist.append(item.clone(title="Series", action="series", extra='serie', url=host + 'tvshows/',
viewmode="movie_with_plot", text_blod=True, viewcontent='movies',
- thumbnail=thumbnail % 'series', page=0))
+ thumbnail=get_thumb('tvshows', auto=True), page=0))
return itemlist
diff --git a/plugin.video.alfa/channels/cartoonlatino.py b/plugin.video.alfa/channels/cartoonlatino.py
index 23b59b61..8fcc8a60 100644
--- a/plugin.video.alfa/channels/cartoonlatino.py
+++ b/plugin.video.alfa/channels/cartoonlatino.py
@@ -25,7 +25,7 @@ list_quality = ['default']
def mainlist(item):
logger.info()
- thumb_series = get_thumb("channels_tvshow.png")
+ thumb_series = get_thumb('tvshows', auto=True)
autoplay.init(item.channel, list_servers, list_quality)
itemlist = list()
itemlist.append(Item(channel=item.channel, action="lista", title="Series", url=host,
diff --git a/plugin.video.alfa/channels/ciberpeliculashd.py b/plugin.video.alfa/channels/ciberpeliculashd.py
index 3562697f..cc9c5a86 100644
--- a/plugin.video.alfa/channels/ciberpeliculashd.py
+++ b/plugin.video.alfa/channels/ciberpeliculashd.py
@@ -6,7 +6,7 @@ from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
-
+from channelselector import get_thumb
__channel__='ciberpeliculashd'
host = "http://ciberpeliculashd.net"
@@ -21,16 +21,23 @@ def mainlist(item):
logger.info()
itemlist = []
itemlist.append(Item(channel = item.channel, title = "Películas", text_bold = True, folder = False))
- itemlist.append(Item(channel = item.channel, title = " Novedades", action = "peliculas", url = host + "/?peli=1"))
- itemlist.append(Item(channel = item.channel, title = " Por género", action = "filtro", url = host, extra = "categories" ))
- itemlist.append(Item(channel = item.channel, title = " Por calidad", action = "filtro", url = host, extra = "qualitys"))
- itemlist.append(Item(channel = item.channel, title = " Por idioma", action = "filtro", url = host, extra = "languages"))
+ itemlist.append(Item(channel = item.channel, title = " Novedades", action = "peliculas", url = host + "/?peli=1",
+ thumbnail=get_thumb('newest', auto=True)))
+ itemlist.append(Item(channel = item.channel, title = " Por género", action = "filtro", url = host,
+ extra = "categories", thumbnail=get_thumb('genres', auto=True)))
+ itemlist.append(Item(channel = item.channel, title = " Por calidad", action = "filtro", url = host,
+ extra = "qualitys", thumbnail=get_thumb('quality', auto=True)))
+ itemlist.append(Item(channel = item.channel, title = " Por idioma", action = "filtro", url = host,
+ extra = "languages", thumbnail=get_thumb('language', auto=True)))
itemlist.append(Item(channel = item.channel, title = ""))
itemlist.append(Item(channel = item.channel, title = "Series", text_bold = True, folder = False))
- itemlist.append(Item(channel = item.channel, title = " Novedades", action = "series", url = host + "/series/?peli=1"))
- itemlist.append(Item(channel = item.channel, title = " Nuevos Capitulos", action = "nuevos_capitulos", url = host + "/series/?peli=1"))
+ itemlist.append(Item(channel = item.channel, title = " Novedades", action = "series",
+ url = host +"/series/?peli=1", thumbnail=get_thumb('newest', auto=True)))
+ itemlist.append(Item(channel = item.channel, title = " Nuevos Capitulos", action = "nuevos_capitulos",
+ url = host + "/series/?peli=1", thumbnail=get_thumb('new episodes', auto=True)))
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 = "Buscar", action = "search", url = host + "/?s=",
+ thumbnail=get_thumb('search', auto=True)))
return itemlist
def nuevos_capitulos(item):
diff --git a/plugin.video.alfa/channels/cineasiaenlinea.py b/plugin.video.alfa/channels/cineasiaenlinea.py
index cefff938..968b9095 100755
--- a/plugin.video.alfa/channels/cineasiaenlinea.py
+++ b/plugin.video.alfa/channels/cineasiaenlinea.py
@@ -8,6 +8,7 @@ from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
+from channelselector import get_thumb
host = "http://www.cineasiaenlinea.com/"
__channel__='cineasiaenlinea'
@@ -36,19 +37,19 @@ def mainlist(item):
itemlist = []
itemlist.append(item.clone(action="peliculas", title="Novedades", url=host + "archivos/peliculas",
- thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres"
- "/0/Directors%20Chair.png", text_color=color1))
+ thumbnail=get_thumb('newest', auto=True), text_color=color1,))
itemlist.append(item.clone(action="peliculas", title="Estrenos", url=host + "archivos/estrenos",
- thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres"
- "/0/Directors%20Chair.png", text_color=color1))
+ thumbnail=get_thumb('premieres', auto=True), text_color=color1))
itemlist.append(item.clone(action="indices", title="Por géneros", url=host,
- thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres"
- "/0/Genre.png", text_color=color1))
- itemlist.append(item.clone(action="indices", title="Por país", url=host, text_color=color1))
- itemlist.append(item.clone(action="indices", title="Por año", url=host, text_color=color1))
+ thumbnail=get_thumb('genres', auto=True), text_color=color1))
+ itemlist.append(item.clone(action="indices", title="Por país", url=host, text_color=color1,
+ thumbnail=get_thumb('country', auto=True)))
+ itemlist.append(item.clone(action="indices", title="Por año", url=host, text_color=color1,
+ thumbnail=get_thumb('year', auto=True)))
itemlist.append(item.clone(title="", action=""))
- itemlist.append(item.clone(action="search", title="Buscar...", text_color=color3))
+ itemlist.append(item.clone(action="search", title="Buscar...", text_color=color3,
+ thumbnail=get_thumb('search', auto=True)))
itemlist.append(item.clone(action="configuracion", title="Configurar canal...", text_color="gold", folder=False))
return itemlist
diff --git a/plugin.video.alfa/channels/cinecalidad.py b/plugin.video.alfa/channels/cinecalidad.py
index 48207535..dbecbd25 100644
--- a/plugin.video.alfa/channels/cinecalidad.py
+++ b/plugin.video.alfa/channels/cinecalidad.py
@@ -11,6 +11,7 @@ from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
+from channelselector import get_thumb
IDIOMAS = {'latino': 'Latino', 'castellano': 'Español', 'portugues': 'Portugues'}
list_language = IDIOMAS.values()
@@ -85,34 +86,34 @@ def submenu(item):
title=idioma.capitalize(),
action="peliculas",
url=host,
- thumbnail='https://s8.postimg.org/6wqwy2c2t/peliculas.png',
+ thumbnail=get_thumb('movies', auto=True),
fanart='https://s8.postimg.org/6wqwy2c2t/peliculas.png',
))
itemlist.append(Item(channel=item.channel,
title="Destacadas",
action="peliculas",
url=host + "/genero-" + idioma + "/" + idioma2 + "/",
- thumbnail='https://s30.postimg.org/humqxklsx/destacadas.png',
+ thumbnail=get_thumb('hot', auto=True),
fanart='https://s30.postimg.org/humqxklsx/destacadas.png',
))
itemlist.append(Item(channel=item.channel,
title="Generos",
action="generos",
url=host + "/genero-" + idioma,
- thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png',
+ thumbnail=get_thumb('genres', auto=True),
fanart='https://s3.postimg.org/5s9jg2wtf/generos.png',
))
itemlist.append(Item(channel=item.channel,
title="Por Año",
action="anyos",
url=host + "/" + idioma + "-por-ano",
- thumbnail='https://s8.postimg.org/7eoedwfg5/pora_o.png',
+ thumbnail=get_thumb('year', auto=True),
fanart='https://s8.postimg.org/7eoedwfg5/pora_o.png',
))
itemlist.append(Item(channel=item.channel,
title="Buscar",
action="search",
- thumbnail='https://s30.postimg.org/pei7txpa9/buscar.png',
+ thumbnail=get_thumb('search', auto=True),
url=host + '/?s=',
fanart='https://s30.postimg.org/pei7txpa9/buscar.png',
host=item.host,
diff --git a/plugin.video.alfa/channels/cinefox.py b/plugin.video.alfa/channels/cinefox.py
index 20949389..1e3aafa2 100644
--- a/plugin.video.alfa/channels/cinefox.py
+++ b/plugin.video.alfa/channels/cinefox.py
@@ -9,6 +9,7 @@ from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
+from channelselector import get_thumb
__modo_grafico__ = config.get_setting('modo_grafico', 'cinefox')
__perfil__ = int(config.get_setting('perfil', "cinefox"))
@@ -32,20 +33,22 @@ 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", thumbnail=get_thumb('movies', auto=True)))
# 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",
+ thumbnail=get_thumb('tvshows', auto=True)))
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",
+ thumbnail=get_thumb('documentaries', auto=True)))
if config.get_setting("adult_mode") != 0:
itemlist.append(item.clone(action="peliculas", title="Sección Adultos +18",
url=host + "/catalogue?type=adultos",
- fanart="http://i.imgur.com/kIvE1Zh.png"))
+ fanart="http://i.imgur.com/kIvE1Zh.png", thumbnail=get_thumb('adults', auto=True)))
- itemlist.append(item.clone(title="Buscar...", action="local_search"))
+ itemlist.append(item.clone(title="Buscar...", action="local_search", thumbnail=get_thumb('search', auto=True)))
itemlist.append(item.clone(title="Configurar canal...", text_color="gold", action="configuracion", folder=False))
return itemlist
@@ -254,9 +257,10 @@ 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", thumbnail=get_thumb('newest', auto=True)))
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",
+ thumbnail=get_thumb('premieres', auto=True)))
itemlist.append(item.clone(action="filtro", title="Filtrar películas", extra="peliculas",
url=host + "/catalogue?type=peliculas",
fanart="http://i.imgur.com/PjJaW8o.png"))
@@ -281,10 +285,11 @@ def seccion_series(item):
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",
+ thumbnail=get_thumb('new episodes', auto=True)))
itemlist.append(item.clone(action="series", title="Series recientes",
url=host + "/catalogue?type=series",
- fanart="http://i.imgur.com/9loVksV.png"))
+ fanart="http://i.imgur.com/9loVksV.png", thumbnail=get_thumb('recents', auto=True)))
itemlist.append(item.clone(action="filtro", title="Filtrar series", extra="series",
url=host + "/catalogue?type=series",
fanart="http://i.imgur.com/9loVksV.png"))
diff --git a/plugin.video.alfa/channels/cinefoxtv.py b/plugin.video.alfa/channels/cinefoxtv.py
index 07b60ee6..9921dd40 100644
--- a/plugin.video.alfa/channels/cinefoxtv.py
+++ b/plugin.video.alfa/channels/cinefoxtv.py
@@ -9,6 +9,7 @@ from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
+from channelselector import get_thumb
host = 'http://verhdpelis.com/'
headers = [['User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'],
@@ -49,21 +50,20 @@ def mainlist(item):
itemlist = []
- itemlist.append(item.clone(title="Todas", action="lista", thumbnail='https://s18.postimg.org/fwvaeo6qh/todas.png',
+ itemlist.append(item.clone(title="Todas", action="lista", thumbnail=get_thumb('all', auto=True),
fanart='https://s18.postimg.org/fwvaeo6qh/todas.png', extra='peliculas/',
url=host + 'page/1.html'))
itemlist.append(
- itemlist[-1].clone(title="Generos", action="generos", thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png',
+ itemlist[-1].clone(title="Generos", action="generos", thumbnail=get_thumb('genres', auto=True),
fanart='https://s3.postimg.org/5s9jg2wtf/generos.png', url=host))
itemlist.append(
- itemlist[-1].clone(title="Mas Vistas", action="lista", thumbnail='https://s9.postimg.org/wmhzu9d7z/vistas.png',
+ itemlist[-1].clone(title="Mas Vistas", action="lista", thumbnail=get_thumb('more watched', auto=True),
fanart='https://s9.postimg.org/wmhzu9d7z/vistas.png',
url=host + 'top-peliculas-online/1.html'))
- itemlist.append(itemlist[-1].clone(title="Buscar", action="search",
- thumbnail='https://s30.postimg.org/pei7txpa9/buscar.png',
+ itemlist.append(itemlist[-1].clone(title="Buscar", action="search", thumbnail=get_thumb('search', auto=True),
fanart='https://s30.postimg.org/pei7txpa9/buscar.png', url=host + 'search/'))
return itemlist
diff --git a/plugin.video.alfa/channels/cinemahd.py b/plugin.video.alfa/channels/cinemahd.py
index 31318f5e..44e3062d 100644
--- a/plugin.video.alfa/channels/cinemahd.py
+++ b/plugin.video.alfa/channels/cinemahd.py
@@ -19,12 +19,17 @@ def mainlist(item):
logger.info()
itemlist = list()
- itemlist.append(item.clone(title="Ultimas", action="list_all", url=host))
- itemlist.append(item.clone(title="Generos", action="section", section='genre'))
- itemlist.append(item.clone(title="Por Calidad", action="section", section='quality'))
- itemlist.append(item.clone(title="Por Año", action="section", section='year'))
- itemlist.append(item.clone(title="Alfabetico", action="section", section='alpha'))
- itemlist.append(item.clone(title="Buscar", action="search", url=host+'?s='))
+ itemlist.append(item.clone(title="Ultimas", action="list_all", url=host, thumbnail=get_thumb('last', auto=True)))
+ itemlist.append(item.clone(title="Generos", action="section", section='genre',
+ thumbnail=get_thumb('genres', auto=True)))
+ itemlist.append(item.clone(title="Por Calidad", action="section", section='quality',
+ thumbnail=get_thumb('quality', auto=True)))
+ itemlist.append(item.clone(title="Por Año", action="section", section='year',
+ thumbnail=get_thumb('year', auto=True)))
+ itemlist.append(item.clone(title="Alfabetico", action="section", section='alpha',
+ thumbnail=get_thumb('alphabet', auto=True)))
+ itemlist.append(item.clone(title="Buscar", action="search", url=host+'?s=',
+ thumbnail=get_thumb('search', auto=True)))
return itemlist
@@ -40,6 +45,8 @@ def list_all(item):
logger.info()
itemlist = []
+ data = get_source(item.url)
+
if item.section == 'alpha':
patron = '\d+.*?(.*?).*?'
patron += '
(\d{4}) | .*?Qlty>(.*?)'
diff --git a/plugin.video.alfa/channels/cinetux.py b/plugin.video.alfa/channels/cinetux.py
index acbe0c53..578bb373 100644
--- a/plugin.video.alfa/channels/cinetux.py
+++ b/plugin.video.alfa/channels/cinetux.py
@@ -6,6 +6,7 @@ from core import servertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
+from channelselector import get_thumb
CHANNEL_HOST = "http://www.cinetux.io/"
@@ -32,28 +33,25 @@ def mainlist(item):
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"
- "/0/Directors%20Chair.png",
+ thumbnail=get_thumb('newest', auto=True),
text_color=color1))
itemlist.append(item.clone(action="destacadas", title=" Destacadas", url=CHANNEL_HOST + "mas-vistos/",
- thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres"
- "/0/Favorites.png",
+ thumbnail=get_thumb('hot', auto=True),
text_color=color1))
- itemlist.append(item.clone(action="idioma", title=" Por idioma", text_color=color1))
+ itemlist.append(item.clone(action="idioma", title=" Por idioma", text_color=color1,
+ thumbnail=get_thumb('language', auto=True)))
itemlist.append(item.clone(action="generos", title=" Por géneros", url=CHANNEL_HOST,
- thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres"
- "/0/Genre.png",
+ thumbnail=get_thumb('genres', auto=True),
text_color=color1))
itemlist.append(item.clone(title="Documentales", text_bold=True, text_color=color2, action=""))
itemlist.append(item.clone(action="peliculas", title=" Novedades", url=CHANNEL_HOST + "genero/documental/", text_color=color1,
- thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres"
- "/0/Documentaries.png"))
+ thumbnail=get_thumb('newest', auto=True)))
itemlist.append(item.clone(action="peliculas", title=" Por orden alfabético", text_color=color1, url=CHANNEL_HOST + "genero/documental/?orderby=title&order=asc&gdsr_order=asc",
- thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres"
- "/0/A-Z.png"))
+ thumbnail=get_thumb('alphabet', auto=True)))
itemlist.append(item.clone(title="", action=""))
- itemlist.append(item.clone(action="search", title="Buscar...", text_color=color3))
+ itemlist.append(item.clone(action="search", title="Buscar...", text_color=color3,
+ thumbnail=get_thumb('search', auto=True)))
itemlist.append(item.clone(action="configuracion", title="Configurar canal...", text_color="gold", folder=False))
return itemlist
diff --git a/plugin.video.alfa/channelselector.py b/plugin.video.alfa/channelselector.py
index 7eac2632..2513e10e 100644
--- a/plugin.video.alfa/channelselector.py
+++ b/plugin.video.alfa/channelselector.py
@@ -5,7 +5,8 @@ import os
from core import channeltools
from core.item import Item
-from platformcode import config, logger
+from platformcode.unify import thumb_dict
+from platformcode import config, logger, unify
def getmainlist(view="thumb_"):
@@ -199,14 +200,24 @@ def filterchannels(category, view="thumb_"):
return channelslist
-def get_thumb(thumb_name, view="thumb_"):
+def get_thumb(thumb_name, view="thumb_", auto=False):
- icon_pack_name = config.get_setting('icon_set', default="default")
- if icon_pack_name == "default":
- resource_path = os.path.join(config.get_runtime_path(), "resources", "media", "themes")
+ if auto:
+ thumbnail = ''
+
+ thumb_name = unify.set_genre(unify.simplify(thumb_name))
+
+
+ if thumb_name in thumb_dict:
+ thumbnail = thumb_dict[thumb_name]
+ return thumbnail
else:
- resource_path = "https://raw.githubusercontent.com/alfa-addon/media/master/themes/"
+ icon_pack_name = config.get_setting('icon_set', default="default")
+ if icon_pack_name == "default":
+ resource_path = os.path.join(config.get_runtime_path(), "resources", "media", "themes")
+ else:
+ resource_path = "https://raw.githubusercontent.com/alfa-addon/media/master/themes/"
- media_path = os.path.join(resource_path, icon_pack_name)
+ media_path = os.path.join(resource_path, icon_pack_name)
- return os.path.join(media_path, view + thumb_name)
+ return os.path.join(media_path, view + thumb_name)
diff --git a/plugin.video.alfa/platformcode/platformtools.py b/plugin.video.alfa/platformcode/platformtools.py
index fed81b09..eba9e519 100644
--- a/plugin.video.alfa/platformcode/platformtools.py
+++ b/plugin.video.alfa/platformcode/platformtools.py
@@ -17,6 +17,8 @@ import xbmc
import xbmcgui
import xbmcplugin
from channelselector import get_thumb
+from platformcode import unify
+from core import channeltools
from core import trakt_tools
from core.item import Item
from platformcode import logger
@@ -118,8 +120,18 @@ def render_items(itemlist, parent_item):
if not len(itemlist):
itemlist.append(Item(title="No hay elementos que mostrar"))
+ genre = False
+ if 'nero' in parent_item.title:
+ genre = True
+ anime = False
+ if 'anime' in channeltools.get_channel_parameters(parent_item.channel)['categories']:
+ anime = True
+
# Recorremos el itemlist
+
for item in itemlist:
+ channel_parameters = channeltools.get_channel_parameters(item.channel)
+ #logger.debug(item)
# Si el item no contiene categoria, le ponemos la del item padre
if item.category == "":
item.category = parent_item.category
@@ -128,25 +140,51 @@ def render_items(itemlist, parent_item):
if item.fanart == "":
item.fanart = parent_item.fanart
- # Formatear titulo
- if item.text_color:
- item.title = '[COLOR %s]%s[/COLOR]' % (item.text_color, item.title)
- if item.text_bold:
- item.title = '[B]%s[/B]' % item.title
- if item.text_italic:
- item.title = '[I]%s[/I]' % item.title
+
+ if genre:
+
+ valid_genre = True
+ thumb = get_thumb(item.title, auto=True)
+ if thumb != '':
+ item.thumbnail = thumb
+ valid_genre = True
+ elif anime:
+ valid_genre = True
+
+
+ unify_enabled = config.get_setting('unify')
+
+ #logger.debug('unify_enabled: %s' % unify_enabled)
+
+
+ if unify_enabled and not channel_parameters['adult'] and 'skip_unify' not in channel_parameters:
+ # Formatear titulo con unify
+ item = unify.title_format(item)
+ else:
+ #Formatear titulo metodo old school
+ if item.text_color:
+ item.title = '[COLOR %s]%s[/COLOR]' % (item.text_color, item.title)
+ if item.text_bold:
+ item.title = '[B]%s[/B]' % item.title
+ if item.text_italic:
+ item.title = '[I]%s[/I]' % item.title
# Añade headers a las imagenes si estan en un servidor con cloudflare
from core import httptools
+
item.thumbnail = httptools.get_url_headers(item.thumbnail)
item.fanart = httptools.get_url_headers(item.fanart)
-
+ item.thumbnail = unify.thumbnail_type(item)
# IconImage para folder y video
if item.folder:
icon_image = "DefaultFolder.png"
else:
icon_image = "DefaultVideo.png"
+ #if not genre or (genre and valid_genre):
+ # Creamos el listitem
+ #listitem = xbmcgui.ListItem(item.title, iconImage=icon_image, thumbnailImage=unify.thumbnail_type(item))
+ listitem = xbmcgui.ListItem(item.title, iconImage=icon_image, thumbnailImage=item.thumbnail)
# Ponemos el fanart
if item.fanart:
fanart = item.fanart
@@ -159,7 +197,8 @@ def render_items(itemlist, parent_item):
# values icon, thumb or poster are skin dependent.. so we set all to avoid problems
# if not exists thumb it's used icon value
if config.get_platform(True)['num_version'] >= 16.0:
- listitem.setArt({'icon': icon_image, 'thumb': item.thumbnail, 'poster': item.thumbnail, 'fanart': fanart})
+ listitem.setArt({'icon': icon_image, 'thumb': item.contentThumbnail, 'poster': item.thumbnail,
+ 'fanart': fanart})
else:
listitem.setIconImage(icon_image)
listitem.setThumbnailImage(item.thumbnail)
@@ -193,6 +232,7 @@ def render_items(itemlist, parent_item):
listitem=listitem, isFolder=item.folder,
totalItems=item.totalItems)
+
# Fijar los tipos de vistas...
if config.get_setting("forceview"):
# ...forzamos segun el viewcontent
@@ -510,7 +550,7 @@ def is_playing():
def play_video(item, strm=False, force_direct=False, autoplay=False):
logger.info()
# logger.debug(item.tostring('\n'))
-
+ logger.debug('item play: %s'%item)
if item.channel == 'downloads':
logger.info("Reproducir video local: %s [%s]" % (item.title, item.url))
xlistitem = xbmcgui.ListItem(path=item.url)
@@ -890,6 +930,7 @@ def set_player(item, xlistitem, mediaurl, view, strm):
if strm or item.strm_path:
from platformcode import xbmc_videolibrary
xbmc_videolibrary.mark_auto_as_watched(item)
+ logger.debug(item)
xlistitem.setPath(mediaurl)
xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, xlistitem)
diff --git a/plugin.video.alfa/platformcode/unify.py b/plugin.video.alfa/platformcode/unify.py
new file mode 100644
index 00000000..f11cadc7
--- /dev/null
+++ b/plugin.video.alfa/platformcode/unify.py
@@ -0,0 +1,557 @@
+# -*- coding: utf-8 -*-
+# ------------------------------------------------------------
+# Unify
+# ------------------------------------------------------------
+# Herramientas responsables de unificar diferentes tipos de
+# datos obtenidos de las paginas
+# ----------------------------------------------------------
+
+import os
+import sys
+import urllib
+import unicodedata
+import re
+
+import config
+from core.item import Item
+from core import scrapertools
+from platformcode import logger
+
+thumb_dict = {"movies": "https://s10.postimg.org/fxtqzdog9/peliculas.png",
+ "tvshows": "https://s10.postimg.org/kxvslawe1/series.png",
+ "all": "https://s10.postimg.org/h1igpgw0p/todas.png",
+ "genres": "https://s10.postimg.org/6c4rx3x1l/generos.png",
+ "search": "https://s10.postimg.org/v985e2izd/buscar.png",
+ "quality": "https://s10.postimg.org/9bbojsbjd/calidad.png",
+ "audio": "https://s10.postimg.org/b34nern7d/audio.png",
+ "newest": "https://s10.postimg.org/g1s5tf1bt/novedades.png",
+ "last": "https://s10.postimg.org/i6ciuk0eh/ultimas.png",
+ "hot": "https://s10.postimg.org/yu40x8q2x/destacadas.png",
+ "year": "https://s10.postimg.org/atzrqg921/a_o.png",
+ "alphabet": "https://s10.postimg.org/4dy3ytmgp/a-z.png",
+ "recomended": "https://s10.postimg.org/7xk1oqccp/recomendadas.png",
+ "more watched": "https://s10.postimg.org/c6orr5neh/masvistas.png",
+ "more voted": "https://s10.postimg.org/c6orr5neh/masvistas.png",
+ "favorites": "https://s10.postimg.org/rtg147gih/favoritas.png",
+ "colections": "https://s10.postimg.org/ywnwjvytl/colecciones.png",
+ "categories": "https://s10.postimg.org/v0ako5lmh/categorias.png",
+ "premieres": "https://s10.postimg.org/sk8r9xdq1/estrenos.png",
+ "documentaries": "https://s10.postimg.org/68aygmmcp/documentales.png",
+ "language": "https://s10.postimg.org/6wci189ft/idioma.png",
+ "new episodes": "https://s10.postimg.org/fu4iwpnqh/nuevoscapitulos.png",
+ "country": "https://s10.postimg.org/yz0h81j15/pais.png",
+ "adults": "https://s10.postimg.org/s8raxc51l/adultos.png",
+ "recents": "https://s10.postimg.org/649u24kp5/recents.png",
+ "accion": "https://s14.postimg.org/sqy3q2aht/action.png",
+ "adolescente" : "https://s10.postimg.org/inq7u4p61/teens.png",
+ "adultos": "https://s10.postimg.org/s8raxc51l/adultos.png",
+ "animacion": "https://s14.postimg.org/vl193mupd/animation.png",
+ "anime" : "https://s10.postimg.org/n9mc2ikzt/anime.png",
+ "artes marciales" : "https://s10.postimg.org/4u1v51tzt/martial_arts.png",
+ "aventura": "https://s14.postimg.org/ky7fy5he9/adventure.png",
+ "belico": "https://s14.postimg.org/5e027lru9/war.png",
+ "biografia" : "https://s10.postimg.org/jq0ecjxnt/biographic.png",
+ "carreras": "https://s14.postimg.org/yt5qgdr69/races.png",
+ "ciencia ficcion": "https://s14.postimg.org/8kulr2jy9/scifi.png",
+ "cine negro" : "https://s10.postimg.org/6ym862qgp/noir.png",
+ "comedia": "https://s14.postimg.org/9ym8moog1/comedy.png",
+ "cortometraje" : "https://s10.postimg.org/qggvlxndl/shortfilm.png",
+ "crimen": "https://s14.postimg.org/duzkipjq9/crime.png",
+ "de la tv": "https://s10.postimg.org/94gj0iwh5/image.png",
+ "deporte": "https://s14.postimg.org/x1crlnnap/sports.png",
+ "destacadas": "https://s10.postimg.org/yu40x8q2x/destacadas.png",
+ "documental": "https://s10.postimg.org/68aygmmcp/documentales.png",
+ "drama": "https://s14.postimg.org/fzjxjtnxt/drama.png",
+ "erotica" : "https://s10.postimg.org/dcbb9bfx5/erotic.png",
+ "espanolas" : "https://s10.postimg.org/x1y6zikx5/spanish.png",
+ "estrenos" : "https://s10.postimg.org/sk8r9xdq1/estrenos.png",
+ "extranjera": "https://s10.postimg.org/f44a4eerd/foreign.png",
+ "familiar": "https://s14.postimg.org/jj5v9ndsx/family.png",
+ "fantasia": "https://s14.postimg.org/p7c60ksg1/fantasy.png",
+ "fantastico" : "https://s10.postimg.org/tedufx5eh/fantastic.png",
+ "historica": "https://s10.postimg.org/p1faxj6yh/historic.png",
+ "horror" : "https://s10.postimg.org/8exqo6yih/horror2.png",
+ "infantil": "https://s14.postimg.org/4zyq842mp/childish.png",
+ "intriga": "https://s14.postimg.org/5qrgdimw1/intrigue.png",
+ "latino" : "https://s10.postimg.org/swip0b86h/latin.png",
+ "mexicanas" : "https://s10.postimg.org/swip0b86h/latin.png",
+ "misterio": "https://s14.postimg.org/3m73cg8ep/mistery.png",
+ "musical": "https://s10.postimg.org/hy7fhtecp/musical.png",
+ "peleas" : "https://s10.postimg.org/7a3ojbjwp/Fight.png",
+ "policial" : "https://s10.postimg.org/wsw0wbgbd/cops.png",
+ "recomendadas": "https://s10.postimg.org/7xk1oqccp/recomendadas.png",
+ "religion" : "https://s10.postimg.org/44j2skquh/religion.png",
+ "romance" : "https://s10.postimg.org/yn8vdll6x/romance.png",
+ "romantica": "https://s14.postimg.org/8xlzx7cht/romantic.png",
+ "suspenso": "https://s10.postimg.org/7peybxdfd/suspense.png",
+ "terror": "https://s14.postimg.org/thqtvl52p/horror.png",
+ "thriller": "https://s14.postimg.org/uwsekl8td/thriller.png",
+ "western": "https://s10.postimg.org/5wc1nokjt/western.png"
+ }
+
+def set_genre(string):
+ logger.info()
+
+ genres_dict = {'accion':['accion', 'action', 'accion y aventura', 'action & adventure'],
+ 'adultos':['adultos', 'adultos +', 'adulto'],
+ 'animacion':['animacion', 'animacion e infantil', 'dibujos animados'],
+ 'adolescente':['adolescente', 'adolescentes', 'adolescencia', 'adolecentes'],
+ 'aventura':['aventura', 'aventuras'],
+ 'belico':['belico', 'belica', 'belicas', 'guerra', 'belico guerra'],
+ 'biografia':['biografia', 'biografias', 'biografica', 'biograficas', 'biografico'],
+ 'ciencia ficcion':['ciencia ficcion', 'cienciaficcion', 'sci fi', 'c ficcion'],
+ 'cine negro':['film noir', 'negro'],
+ 'comedia':['comedia', 'comedias'],
+ 'cortometraje':['cortometraje', 'corto', 'cortos'],
+ 'de la tv':['de la tv', 'television', 'tv'],
+ 'deporte':['deporte', 'deportes'],
+ 'destacadas':['destacada', 'destacadas'],
+ 'documental':['documental', 'documentales'],
+ 'erotica':['erotica', 'erotica +', 'eroticas', 'eroticas +', 'erotico', 'erotico +'],
+ 'estrenos':['estrenos', 'estrenos'],
+ 'extranjera':['extrajera', 'extrajeras', 'foreign'],
+ 'familiar':['familiar', 'familia'],
+ 'fantastico':['fantastico', 'fantastica', 'fantasticas'],
+ 'historica':['historica', 'historicas', 'historico', 'historia'],
+ 'infantil':['infantil', 'kids'],
+ 'musical':['musical', 'musicales', 'musica'],
+ 'policial':['policial', 'policiaco', 'policiaca'],
+ 'recomendadas':['recomedada', 'recomendadas'],
+ 'religion':['religion', 'religiosa', 'religiosas'],
+ 'romantica':['romantica', 'romanticas', 'romantico'],
+ 'suspenso':['suspenso', 'suspense'],
+ 'thriller':['thriller', 'thrillers'],
+ 'western':['western', 'westerns', 'oeste western']
+ }
+ string = re.sub(r'peliculas de |pelicula de la |peli |cine ','', string)
+ for genre, variants in genres_dict.items():
+ if string in variants:
+ string = genre
+
+ return string
+
+def remove_format(string):
+ logger.info()
+ #logger.debug('entra en remove: %s' % string)
+ string = string.rstrip()
+ string = re.sub(r'(\[|\[\/)(?:color|COLOR|b|B|i|I).*?\]|\[|\]|\(|\)|\:|\.', '', string)
+ #logger.debug('sale de remove: %s' % string)
+ return string
+
+def simplify(string):
+
+ logger.info()
+ #logger.debug('entra en simplify: %s'%string)
+ string = remove_format(string)
+ string = string.replace('-',' ').replace('_',' ')
+ string = re.sub(r'\d+','', string)
+ string = string.strip()
+ string = string.decode('utf-8')
+ notilde = ''.join((c for c in unicodedata.normalize('NFD', unicode(string)) if unicodedata.category(c) != 'Mn'))
+ string = notilde.decode()
+ string = string.lower()
+ #logger.debug('sale de simplify: %s' % string)
+
+ return string
+
+def add_languages(title, languages):
+ logger.info()
+
+ if isinstance(languages, list):
+ for language in languages:
+ title = '%s %s' % (title, set_color(language, language))
+ else:
+ title = '%s %s' % (title, set_color(languages, languages))
+ return title
+
+def set_color(title, category):
+ logger.info()
+
+ color_scheme = {'otro': 'white'}
+
+ #logger.debug('category antes de remove: %s' % category)
+ category = remove_format(category).lower()
+ #logger.debug('category despues de remove: %s' % category)
+ # Lista de elementos posibles en el titulo
+ color_list = ['movie', 'tvshow', 'year', 'rating_1', 'rating_2', 'rating_3', 'quality', 'cast', 'lat', 'vose',
+ 'vos', 'vo', 'server', 'library', 'update', 'no_update']
+
+ # Se verifica el estado de la opcion de colores personalizados
+ custom_colors = config.get_setting('title_color')
+
+ # Se Forma el diccionario de colores para cada elemento, la opcion esta activas utiliza la configuracion del
+ # usuario, si no pone el titulo en blanco.
+ if title not in ['', ' ']:
+
+ for element in color_list:
+ if custom_colors:
+ color_scheme[element] = remove_format(config.get_setting('%s_color' % element))
+ else:
+ color_scheme[element] = 'white'
+ if category in ['update', 'no_update']:
+ #logger.debug('title antes de updates: %s' % title)
+ title= re.sub(r'\[COLOR .*?\]','[COLOR %s]' % color_scheme[category],title)
+ else:
+ if category not in ['movie', 'tvshow', 'library', 'otro']:
+ title = "[COLOR %s][%s][/COLOR]"%(color_scheme[category], title)
+ else:
+ title = "[COLOR %s]%s[/COLOR]" % (color_scheme[category], title)
+ return title
+
+def set_lang(language):
+ logger.info()
+
+ cast =['castellano','espanol','cast','esp','espaol', 'es','zc', 'spa', 'spanish', 'vc']
+ lat=['latino','lat','la', 'espanol latino', 'espaol latino', 'zl', 'mx', 'co', 'vl']
+ vose=['subtitulado','subtitulada','sub','sub espanol','vose','espsub','su','subs castellano',
+ 'sub: español', 'vs', 'zs', 'vs', 'english-spanish subs', 'ingles sub espanol']
+ vos=['vos', 'sub ingles', 'engsub', 'vosi','ingles subtitulado', 'sub: ingles']
+ vo=['ingles', 'en','vo', 'ovos', 'eng','v.o', 'english']
+
+ language = scrapertools.decodeHtmlentities(language)
+ old_lang = language
+
+ language = simplify(language)
+
+ #logger.debug('language before simplify: %s' % language)
+ #logger.debug('old language: %s' % old_lang)
+ if language in cast:
+ language = 'cast'
+ elif language in lat:
+ language = 'lat'
+ elif language in vose:
+ language = 'vose'
+ elif language in vos:
+ language = 'vos'
+ elif language in vo:
+ language = 'vo'
+ else:
+ language = 'otro'
+
+ #logger.debug('language after simplify: %s' % language)
+
+ return language
+
+
+
+
+
+def title_format(item):
+ logger.info()
+
+ lang = False
+ valid = True
+ language_color = 'otro'
+
+ #logger.debug('item.title antes de formatear: %s' % item.title.lower())
+
+ # TODO se deberia quitar cualquier elemento que no sea un enlace de la lista de findvideos para quitar esto
+
+ #Palabras "prohibidas" en los titulos (cualquier titulo que contengas estas no se procesara en unify)
+ excluded_words = ['online', 'descarga', 'downloads', 'trailer', 'videoteca', 'gb', 'autoplay']
+
+ # Actions excluidos, (se define canal y action) los titulos que contengan ambos valores no se procesaran en unify
+ excluded_actions = [('videolibrary','get_episodes')]
+
+ # Verifica si hay marca de visto de trakt
+
+ visto = False
+ #logger.debug('titlo con visto? %s' % item.title)
+
+ if '[[I]v[/I]]' in item.title or '[COLOR limegreen][v][/COLOR]' in item.title:
+ visto = True
+
+ # Se elimina cualquier formato previo en el titulo
+ if item.action != '':
+ item.title = remove_format(item.title)
+
+ #logger.debug('visto? %s' % visto)
+
+ # Evita que aparezcan los idiomas en los mainlist de cada canal
+ if item.action == 'mainlist':
+ item.language =''
+
+ info = item.infoLabels
+ #logger.debug('item antes de formatear: %s'%item)
+
+ if hasattr(item,'text_color'):
+ item.text_color=''
+
+ #Verifica el item sea valido para ser formateado por unify
+
+ if item.channel == 'trailertools' or (item.channel.lower(), item.action.lower()) in excluded_actions or \
+ item.action=='':
+ valid = False
+ else:
+ for word in excluded_words:
+ if word in item.title.lower():
+ valid = False
+ break
+
+ if valid and item.unify!=False:
+
+ # Formamos el titulo para serie, se debe definir contentSerieName
+ # o show en el item para que esto funcione.
+ if item.contentSerieName:
+
+ # Si se tiene la informacion en infolabels se utiliza
+ if item.contentType == 'episode' and info['episode'] != '':
+ if info['title'] == '':
+ info['title'] = '%s - Episodio %s'% (info['tvshowtitle'], info['episode'])
+ elif 'Episode' in info['title']:
+ episode = info['title'].lower().replace('episode', 'episodio')
+ info['title'] = '%s - %s' % (info['tvshowtitle'], episode.capitalize())
+ elif info['episodio_titulo']!='':
+ #logger.debug('info[episode_titulo]: %s' % info['episodio_titulo'])
+ if 'episode' in info['episodio_titulo'].lower():
+ episode = info['episodio_titulo'].lower().replace('episode', 'episodio')
+ item.title = '%sx%s - %s' % (info['season'],info['episode'], episode.capitalize())
+ else:
+ item.title = '%sx%s - %s' % (info['season'], info['episode'], info['episodio_titulo'].capitalize())
+ else:
+ item.title = '%sx%s - %s' % (info['season'],info['episode'], info['title'])
+ item.title = set_color(item.title, 'tvshow')
+
+ else:
+
+ # En caso contrario se utiliza el titulo proporcionado por el canal
+ #logger.debug ('color_scheme[tvshow]: %s' % color_scheme['tvshow'])
+ item.title = '%s' % set_color(item.title, 'tvshow')
+
+ elif item.contentTitle:
+ # Si el titulo no tiene contentSerieName entonces se formatea como pelicula
+ item.title = '%s' % set_color(item.contentTitle, 'movie')
+ if item.contentType=='movie':
+ item.context='Buscar esta pelicula en otros canales'
+
+ if 'Novedades' in item.category and item.from_channel=='news':
+ #logger.debug('novedades')
+ item.title = '%s [%s]'%(item.title, item.channel)
+
+ # Verificamos si item.language es una lista, si lo es se toma
+ # cada valor y se normaliza formado una nueva lista
+
+ if hasattr(item,'language') and item.language !='':
+ #logger.debug('tiene language: %s'%item.language)
+ if isinstance(item.language, list):
+ language_list =[]
+ for language in item.language:
+ if language != '':
+ lang = True
+ language_list.append(set_lang(remove_format(language)).upper())
+ #logger.debug('language_list: %s' % language_list)
+ simple_language = language_list
+ else:
+ # Si item.language es un string se normaliza
+ if item.language != '':
+ lang = True
+ simple_language = set_lang(item.language).upper()
+ else:
+ simple_language = ''
+
+ item.language = simple_language
+
+ # Damos formato al año si existiera y lo agregamos
+ # al titulo excepto que sea un episodio
+ if info and info.get("year", "") not in [""," "] and item.contentType != 'episode' and not info['season']:
+ try:
+ year = '%s' % set_color(info['year'], 'year')
+ item.title = item.title = '%s %s' % (item.title, year)
+ except:
+ logger.debug('infoLabels: %s'%info)
+
+ # Damos formato al puntaje si existiera y lo agregamos al titulo
+ if info and info['rating'] and info['rating']!='0.0' and not info['season']:
+
+ # Se normaliza el puntaje del rating
+
+ rating_value = check_rating(info['rating'])
+
+ # Asignamos el color dependiendo el puntaje, malo, bueno, muy bueno, en caso de que exista
+
+ if rating_value:
+ value = float(rating_value)
+ if value <= 3:
+ color_rating = 'rating_1'
+ elif value > 3 and value <= 7:
+ color_rating = 'rating_2'
+ else:
+ color_rating = 'rating_3'
+
+ rating = '%s' % rating_value
+ else:
+ rating = ''
+ color_rating = 'otro'
+ item.title = '%s %s' % (item.title, set_color(rating, color_rating))
+
+ # Damos formato a la calidad si existiera y lo agregamos al titulo
+ if item.quality:
+ quality = item.quality.strip()
+ item.title = '%s %s' % (item.title, set_color(quality, 'quality'))
+ else:
+ quality = ''
+
+ # Damos formato al idioma si existiera y lo agregamos al titulo
+ if lang:
+ item.title = add_languages(item.title, simple_language)
+
+ # Formato para actualizaciones de series en la videoteca sobreescribe los colores anteriores
+
+ if item.channel=='videolibrary' and item.context!='':
+ if item.action=='get_seasons':
+ if 'Desactivar' in item.context[1]['title']:
+ item.title= '%s' % (set_color(item.title, 'update'))
+ if 'Activar' in item.context[1]['title']:
+ item.title= '%s' % (set_color(item.title, 'no_update'))
+
+ # Damos formato al servidor si existiera
+ if item.server:
+ server = '%s' % set_color(item.server.strip().capitalize(), 'server')
+
+ # Compureba si estamos en findvideos, y si hay server, si es asi no se muestra el
+ # titulo sino el server, en caso contrario se muestra el titulo normalmente.
+
+ #logger.debug('item.title antes de server: %s'%item.title)
+ if item.action != 'play' and item.server:
+ item.title ='%s %s'%(item.title, server.strip())
+ elif item.action == 'play' and item.server:
+ if item.quality == 'default':
+ quality = ''
+ #logger.debug('language_color: %s'%language_color)
+ item.title = '%s %s' % (server, set_color(quality,'quality'))
+ if lang:
+ item.title = add_languages(item.title, simple_language)
+ #logger.debug('item.title: %s' % item.title)
+ else:
+ item.title = '%s' % item.title
+ #logger.debug('item.title despues de server: %s' % item.title)
+ elif 'library' in item.action:
+ item.title = '%s' % set_color(item.title, 'library')
+ elif item.action == '' and item.title !='':
+ item.title='**- %s -**'%item.title
+ else:
+ item.title = '%s' % set_color(item.title, 'otro')
+ #logger.debug('antes de salir %s' % item.title)
+ if visto:
+ try:
+ check = u'\u221a'
+
+ title = '[B][COLOR limegreen][%s][/COLOR][/B] %s' % (check, item.title.decode('utf-8'))
+ item.title = title.encode('utf-8')
+ except:
+ check = 'v'
+ title = '[B][COLOR limegreen][%s][/COLOR][/B] %s' % (check, item.title.decode('utf-8'))
+ item.title = title.encode('utf-8')
+
+ return item
+
+def thumbnail_type(item):
+ logger.info()
+
+ # Se comprueba que tipo de thumbnail se utilizara en findvideos,
+ # Poster o Logo del servidor
+
+ thumb_type = config.get_setting('video_thumbnail_type')
+ #logger.debug('thumb_type: %s' % thumb_type)
+ info = item.infoLabels
+ #logger.debug('item.thumbnail: %s'%item.thumbnail)
+
+ if info['thumbnail'] !='':
+ item.contentThumbnail = info['thumbnail']
+ else:
+ item.contentThumbnail = item.thumbnail
+
+ if item.action == 'play':
+ if thumb_type == 0:
+ if info and info['thumbnail'] != '':
+ item.thumbnail = info['thumbnail']
+ elif thumb_type == 1:
+ from core.servertools import get_server_parameters
+ #logger.debug('item.server: %s'%item.server)
+ server_parameters = get_server_parameters(item.server.lower())
+ item.thumbnail = server_parameters.get("thumbnail", "")
+ #logger.debug('thumbnail: %s' % item.thumb)
+
+ return item.thumbnail
+
+
+from decimal import *
+
+
+def check_rating(rating):
+ # logger.debug("\n\nrating %s" % rating)
+
+ def check_decimal_length(_rating):
+ """
+ Dejamos que el float solo tenga un elemento en su parte decimal, "7.10" --> "7.1"
+ @param _rating: valor del rating
+ @type _rating: float
+ @return: devuelve el valor modificado si es correcto, si no devuelve None
+ @rtype: float|None
+ """
+ # logger.debug("rating %s" % _rating)
+
+ try:
+ # convertimos los deciamles p.e. 7.1
+ return "%.1f" % round(_rating, 1)
+ except Exception, ex_dl:
+ template = "An exception of type %s occured. Arguments:\n%r"
+ message = template % (type(ex_dl).__name__, ex_dl.args)
+ logger.error(message)
+ return None
+
+ def check_range(_rating):
+ """
+ Comprobamos que el rango de rating sea entre 0.0 y 10.0
+ @param _rating: valor del rating
+ @type _rating: float
+ @return: devuelve el valor si está dentro del rango, si no devuelve None
+ @rtype: float|None
+ """
+ # logger.debug("rating %s" % _rating)
+ # fix para comparacion float
+ dec = Decimal(_rating)
+ if 0.0 <= dec <= 10.0:
+ # logger.debug("estoy en el rango!")
+ return _rating
+ else:
+ # logger.debug("NOOO estoy en el rango!")
+ return None
+
+ def convert_float(_rating):
+ try:
+ return float(_rating)
+ except ValueError, ex_ve:
+ template = "An exception of type %s occured. Arguments:\n%r"
+ message = template % (type(ex_ve).__name__, ex_ve.args)
+ logger.error(message)
+ return None
+
+ if type(rating) != float:
+ # logger.debug("no soy float")
+ if type(rating) == int:
+ # logger.debug("soy int")
+ rating = convert_float(rating)
+ elif type(rating) == str:
+ # logger.debug("soy str")
+
+ rating = rating.replace("<", "")
+ rating = convert_float(rating)
+
+ if rating is None:
+ # logger.debug("error al convertir str, rating no es un float")
+ # obtenemos los valores de numericos
+ new_rating = scrapertools.find_single_match(rating, "(\d+)[,|:](\d+)")
+ if len(new_rating) > 0:
+ rating = convert_float("%s.%s" % (new_rating[0], new_rating[1]))
+
+ else:
+ logger.error("no se que soy!!")
+ # obtenemos un valor desconocido no devolvemos nada
+ return None
+
+ if rating:
+ rating = check_decimal_length(rating)
+ rating = check_range(rating)
+
+ return rating
diff --git a/plugin.video.alfa/resources/settings.xml b/plugin.video.alfa/resources/settings.xml
index 588682e8..950bf63b 100644
--- a/plugin.video.alfa/resources/settings.xml
+++ b/plugin.video.alfa/resources/settings.xml
@@ -51,6 +51,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+