diff --git a/plugin.video.alfa/channels/cineonline.json b/plugin.video.alfa/channels/cineonline.json new file mode 100644 index 00000000..beac2e9b --- /dev/null +++ b/plugin.video.alfa/channels/cineonline.json @@ -0,0 +1,63 @@ +{ + "id": "cineonline", + "name": "cineonline", + "active": true, + "adult": false, + "language": ["cast", "lat"], + "thumbnail": "https://www.cine-online.eu/wp-content/uploads/2015/04/CINE-logo-bueno.png", + "banner": "", + "categories": [ + "movie" + ], + "settings": [ + { + "id": "filter_languages", + "type": "list", + "label": "Mostrar enlaces en idioma...", + "default": 0, + "enabled": true, + "visible": true, + "lvalues": [ + "No filtrar", + "LAT", + "ESP", + "VOSE" + ] + }, + { + "id": "modo_grafico", + "type": "bool", + "label": "Buscar información extra", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "include_in_global_search", + "type": "bool", + "label": "Incluir en busqueda global", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "comprueba_enlaces", + "type": "bool", + "label": "Verificar si los enlaces existen", + "default": false, + "enabled": true, + "visible": true + }, + { + "id": "comprueba_enlaces_num", + "type": "list", + "label": "Número de enlaces a verificar", + "default": 1, + "enabled": true, + "visible": "eq(-1,true)", + "lvalues": [ "5", "10", "15", "20" ] + } + ] +} + + diff --git a/plugin.video.alfa/channels/cineonline.py b/plugin.video.alfa/channels/cineonline.py new file mode 100644 index 00000000..82197c84 --- /dev/null +++ b/plugin.video.alfa/channels/cineonline.py @@ -0,0 +1,210 @@ +# -*- coding: utf-8 -*- +#------------------------------------------------------------ +import re, urllib, urlparse + +from channels import autoplay +from platformcode import config, logger, platformtools +from core.item import Item +from core import httptools, scrapertools, jsontools, tmdb +from core import servertools +from channels import filtertools + +host = 'https://www.cine-online.eu' + +IDIOMAS = {'Español': 'ESP', 'Cast': 'ESP', 'Latino': 'LAT', 'Lat': 'LAT', 'Subtitulado': 'VOSE', 'Sub': 'VOSE'} +list_language = IDIOMAS.values() +list_servers = ['Streamango', 'Vidoza', 'Openload', 'Streamcherry', 'Netutv'] +list_quality = [] +__channel__='cineonline' +__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', __channel__) +__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', __channel__) +try: + __modo_grafico__ = config.get_setting('modo_grafico', __channel__) +except: + __modo_grafico__ = True + + +def mainlist(item): + logger.info() + itemlist = [] + autoplay.init(item.channel, list_servers, list_quality) + itemlist.append(item.clone(title ="Películas", action ="mainlist_pelis")) + itemlist.append(item.clone(title="Series" , action="lista", url= host + "/serie/")) + itemlist.append(item.clone(title="Buscar", action="search")) + + itemlist.append(item.clone(title="Configurar canal...", text_color="gold", action="configuracion", folder=False)) + autoplay.show_option(item.channel, itemlist) + return itemlist + +def mainlist_pelis(item): + logger.info() + itemlist = [] + + itemlist.append(item.clone(title="Novedades" , action="lista", url= host)) + itemlist.append(item.clone(title="Castellano" , action="lista", url= host + "/tag/castellano/")) + itemlist.append(item.clone(title="Latino" , action="lista", url= host + "/tag/latino/")) + itemlist.append(item.clone(title="Subtituladas" , action="lista", url= host + "/tag/subtitulado/")) + itemlist.append(item.clone(title="Categorias" , action="categorias", url= host)) + itemlist.append(item.clone(title="Año" , action="categorias", url= host)) + + itemlist.append(item.clone( title = 'Buscar', action = 'search', search_type = 'movie' )) + + return itemlist + +def configuracion(item): + ret = platformtools.show_channel_settings() + platformtools.itemlist_refresh() + return ret + + +def search(item, texto): + logger.info() + texto = texto.replace(" ", "+") + item.url = host + "/?s=%s" % texto + try: + return lista(item) + except: + import sys + for line in sys.exc_info(): + logger.error("%s" % line) + return [] + + +def categorias(item): + logger.info() + itemlist = [] + data = httptools.downloadpage(item.url).data + if "Año" in item.title: + data = scrapertools.get_match(data,'