From 3d988779d6fcbccaaf449b73a595dbd1441167e8 Mon Sep 17 00:00:00 2001 From: mac12m99 Date: Fri, 8 Mar 2019 21:06:59 +0100 Subject: [PATCH 01/13] add option to enable autoplay in all channels, plan_b true by default --- plugin.video.alfa/channels/autoplay.py | 14 ++++++++------ .../resources/language/English/strings.po | 3 +++ .../resources/language/Italian/strings.po | 3 +++ .../resources/language/Spanish/strings.po | 4 +++- plugin.video.alfa/resources/settings.xml | 1 + 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/plugin.video.alfa/channels/autoplay.py b/plugin.video.alfa/channels/autoplay.py index 31f2275a..79c764b7 100644 --- a/plugin.video.alfa/channels/autoplay.py +++ b/plugin.video.alfa/channels/autoplay.py @@ -9,6 +9,7 @@ from platformcode import config, logger from platformcode import platformtools from platformcode import launcher from time import sleep +from platformcode.config import get_setting __channel__ = "autoplay" @@ -117,7 +118,7 @@ def start(itemlist, item): # Obtiene los ajustes des autoplay para este canal settings_node = channel_node.get('settings', {}) - if settings_node['active']: + if get_setting('autoplay') or settings_node['active']: url_list_valid = [] autoplay_list = [] autoplay_b = [] @@ -142,7 +143,7 @@ def start(itemlist, item): # 2: Solo servidores # 3: Solo calidades # 4: No ordenar - if settings_node['custom_servers'] and settings_node['custom_quality']: + if (settings_node['custom_servers'] and settings_node['custom_quality']) or get_setting('autoplay'): priority = settings_node['priority'] # 0: Servidores y calidades o 1: Calidades y servidores elif settings_node['custom_servers']: priority = 2 # Solo servidores @@ -391,14 +392,15 @@ def init(channel, list_servers, list_quality, reset=False): # Se comprueba que no haya calidades ni servidores duplicados if 'default' not in list_quality: list_quality.append('default') - list_servers = list(set(list_servers)) - list_quality = list(set(list_quality)) + # list_servers = list(set(list_servers)) + # list_quality = list(set(list_quality)) # Creamos el nodo del canal y lo añadimos channel_node = {"servers": list_servers, "quality": list_quality, "settings": { "active": False, + "plan_b": True, "custom_servers": False, "custom_quality": False, "priority": 0}} @@ -455,7 +457,7 @@ def check_value(channel, itemlist): for item in itemlist: if item.server.lower() not in server_list and item.server !='': - server_list.append(item.server) + server_list.append(item.server.lower()) change = True if item.quality not in quality_list and item.quality !='': quality_list.append(item.quality) @@ -672,7 +674,7 @@ def is_active(channel): # Obtiene los ajustes des autoplay para este canal settings_node = channel_node.get('settings', {}) - return settings_node.get('active', False) + return settings_node.get('active', False) or get_setting('autoplay') def reset(item, dict): diff --git a/plugin.video.alfa/resources/language/English/strings.po b/plugin.video.alfa/resources/language/English/strings.po index bc9d9672..2cdf9131 100644 --- a/plugin.video.alfa/resources/language/English/strings.po +++ b/plugin.video.alfa/resources/language/English/strings.po @@ -4931,3 +4931,6 @@ msgctxt "#70561" msgid "Search Similar msgstr "" +msgctxt "#70562" +msgid "autoplay" +msgstr "Enable autoplay in all channels" \ No newline at end of file diff --git a/plugin.video.alfa/resources/language/Italian/strings.po b/plugin.video.alfa/resources/language/Italian/strings.po index e53d690e..43a4812a 100644 --- a/plugin.video.alfa/resources/language/Italian/strings.po +++ b/plugin.video.alfa/resources/language/Italian/strings.po @@ -4920,3 +4920,6 @@ msgid "Search Similar msgstr "Cerca Simili" +msgctxt "#70562" +msgid "autoplay" +msgstr "Abilita autoplay in tutti i canali" \ No newline at end of file diff --git a/plugin.video.alfa/resources/language/Spanish/strings.po b/plugin.video.alfa/resources/language/Spanish/strings.po index 8986f352..cd36581a 100644 --- a/plugin.video.alfa/resources/language/Spanish/strings.po +++ b/plugin.video.alfa/resources/language/Spanish/strings.po @@ -4931,7 +4931,9 @@ msgctxt "#70561" msgid "Search Similar" msgstr "Buscar Similares" - +msgctxt "#70562" +msgid "autoplay" +msgstr "Habilitar reproducción automática en todos los canales" diff --git a/plugin.video.alfa/resources/settings.xml b/plugin.video.alfa/resources/settings.xml index a39cd184..5c95ae12 100644 --- a/plugin.video.alfa/resources/settings.xml +++ b/plugin.video.alfa/resources/settings.xml @@ -3,6 +3,7 @@ + From 3a266f6888628e014c512638217255ff42cb5f5d Mon Sep 17 00:00:00 2001 From: mac12m99 Date: Fri, 8 Mar 2019 21:19:07 +0100 Subject: [PATCH 02/13] a better way to detect max and min resolutions --- .../platformcode/platformtools.py | 44 +++++++++++++++++-- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/plugin.video.alfa/platformcode/platformtools.py b/plugin.video.alfa/platformcode/platformtools.py index eda11d9a..b9b1beef 100644 --- a/plugin.video.alfa/platformcode/platformtools.py +++ b/plugin.video.alfa/platformcode/platformtools.py @@ -19,7 +19,7 @@ import xbmcplugin from channelselector import get_thumb from platformcode import unify from core import channeltools -from core import trakt_tools +from core import trakt_tools, scrapertoolsV2 from core.item import Item from platformcode import logger @@ -739,15 +739,53 @@ def get_seleccion(default_action, opciones, seleccion, video_urls): seleccion = dialog_select(config.get_localized_string(30163), opciones) # Ver en calidad baja elif default_action == 1: - seleccion = 0 + resolutions = [] + for url in video_urls: + res = calcResolution(url[0]) + if res: + resolutions.append(res) + if resolutions: + seleccion = resolutions.index(min(resolutions)) + else: + seleccion = 0 # Ver en alta calidad elif default_action == 2: - seleccion = len(video_urls) - 1 + resolutions = [] + for url in video_urls: + res = calcResolution(url[0]) + if res: + resolutions.append(res) + if resolutions: + seleccion = resolutions.index(max(resolutions)) + else: + seleccion = len(video_urls) - 1 else: seleccion = 0 return seleccion +def calcResolution(option): + match = scrapertoolsV2.find_single_match(option, '([0-9]{2,4})x([0-9]{2,4})') + resolution = False + if match: + resolution = int(match[0])*int(match[1]) + else: + if '240p' in option: + resolution = 320 * 240 + elif '360p' in option: + resolution = 480 * 360 + elif ('480p' in option) or ('480i' in option): + resolution = 720 * 480 + elif ('576p' in option) or ('576p' in option): + resolution = 720 * 576 + elif ('720p' in option) or ('HD' in option): + resolution = 1280 * 720 + elif ('1080p' in option) or ('1080i' in option) or ('Full HD' in option): + resolution = 1920 * 1080 + + return resolution + + def show_channel_settings(**kwargs): """ Muestra un cuadro de configuracion personalizado para cada canal y guarda los datos al cerrarlo. From 7884d6338498857d1d861f5a76a388b43493ca1f Mon Sep 17 00:00:00 2001 From: mac12m99 Date: Fri, 8 Mar 2019 23:45:38 +0100 Subject: [PATCH 03/13] add rapidcrypt embedded support and uclaut.net(adf.ly) --- plugin.video.alfa/lib/unshortenit.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/plugin.video.alfa/lib/unshortenit.py b/plugin.video.alfa/lib/unshortenit.py index b7165a5e..5287b02d 100755 --- a/plugin.video.alfa/lib/unshortenit.py +++ b/plugin.video.alfa/lib/unshortenit.py @@ -26,7 +26,7 @@ def find_in_text(regex, text, flags=re.IGNORECASE | re.DOTALL): class UnshortenIt(object): - _adfly_regex = r'adf\.ly|j\.gs|q\.gs|u\.bb|ay\.gy|atominik\.com|tinyium\.com|microify\.com|threadsphere\.bid|clearload\.bid|activetect\.net|swiftviz\.net|briskgram\.net|activetect\.net|baymaleti\.net|thouth\.net' + _adfly_regex = r'adf\.ly|j\.gs|q\.gs|u\.bb|ay\.gy|atominik\.com|tinyium\.com|microify\.com|threadsphere\.bid|clearload\.bid|activetect\.net|swiftviz\.net|briskgram\.net|activetect\.net|baymaleti\.net|thouth\.net|uclaut.net' _linkbucks_regex = r'linkbucks\.com|any\.gs|cash4links\.co|cash4files\.co|dyo\.gs|filesonthe\.net|goneviral\.com|megaline\.co|miniurls\.co|qqc\.co|seriousdeals\.net|theseblogs\.com|theseforums\.com|tinylinks\.co|tubeviral\.com|ultrafiles\.net|urlbeat\.net|whackyvidz\.com|yyv\.co' _adfocus_regex = r'adfoc\.us' _lnxlu_regex = r'lnx\.lu' @@ -76,7 +76,7 @@ class UnshortenIt(object): if re.search(self._cryptmango_regex, uri, re.IGNORECASE): return self._unshorten_cryptmango(uri) - return uri, 200 + return uri, 0 def unwrap_30x(self, uri, timeout=10): def unwrap_30x(uri, timeout=10): @@ -442,12 +442,15 @@ class UnshortenIt(object): r = httptools.downloadpage(uri, timeout=self._timeout, cookies=False) html = r.data - uri = re.findall(r']+)>', html)[0] + if 'embed' in uri: + uri = re.findall(r']*)>', html)[0] + else: + uri = re.findall(r']+)>', html)[0] return uri, r.code except Exception as e: - return uri, str(e) + return uri, 0 def _unshorten_cryptmango(self, uri): try: From c78988bfadb0c195ca89e0fc1848ad6540210898 Mon Sep 17 00:00:00 2001 From: mac12m99 Date: Fri, 8 Mar 2019 23:49:25 +0100 Subject: [PATCH 04/13] do not limit expurl on some services --- plugin.video.alfa/servers/decrypters/expurl.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/plugin.video.alfa/servers/decrypters/expurl.py b/plugin.video.alfa/servers/decrypters/expurl.py index e3b025fe..3d7e217c 100755 --- a/plugin.video.alfa/servers/decrypters/expurl.py +++ b/plugin.video.alfa/servers/decrypters/expurl.py @@ -1,23 +1,14 @@ # -*- coding: utf-8 -*- -import urlparse - from lib import unshortenit -SERVICES_SHORT = ["adf.ly", "sh.st", "bit.ly", "ul.to"] - - def expand_url(url): e = unshortenit.UnshortenIt() + estado = 200 - while Es_Corto(url): + while estado != 0: long_url, estado = e.unshorten(url) url = long_url return long_url - -def Es_Corto(url): - server = urlparse.urlsplit(url).netloc - Corto = (server in SERVICES_SHORT) - return Corto From 097207ba8b55abcf909c6cf6f02394438227de9a Mon Sep 17 00:00:00 2001 From: chivmalev Date: Tue, 12 Mar 2019 12:06:34 -0300 Subject: [PATCH 05/13] maxipelis24:correcciones --- plugin.video.alfa/channels/maxipelis24.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/plugin.video.alfa/channels/maxipelis24.py b/plugin.video.alfa/channels/maxipelis24.py index 674e8417..bcfb0b3b 100644 --- a/plugin.video.alfa/channels/maxipelis24.py +++ b/plugin.video.alfa/channels/maxipelis24.py @@ -17,7 +17,7 @@ host = "https://maxipelis24.tv" IDIOMAS = {'Latino': 'Latino', 'Subtitulado': 'VOSE', 'Español': 'CAST'} list_language = IDIOMAS.values() list_quality = [] -list_servers = ['rapidvideo', 'vidoza', 'openload', 'streamango'] +list_servers = ['rapidvideo', 'vidoza', 'openload', 'streamango', 'okru'] def mainlist(item): @@ -53,7 +53,6 @@ def category(item): itemlist = [] data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) - if item.cat == 'genre': data = scrapertools.find_single_match( data, '

Géneros .*?') @@ -106,7 +105,6 @@ def movies(item): if next_page: itemlist.append(item.clone(url=next_page, page=0, title=" Siguiente »")) - return itemlist @@ -120,11 +118,24 @@ def findvideos(item): patron = "li>.*?href=.*?>([^\s]+)" matches1 = re.compile(patron, re.DOTALL).findall(data1) for lang in matches1: + if "VIP" in lang: + continue idioma = lang patron = '
Date: Wed, 13 Mar 2019 16:02:50 +0100 Subject: [PATCH 06/13] Nuevo canal: Mundopelis --- plugin.video.alfa/channels/mundopelis.json | 49 +++++++ plugin.video.alfa/channels/mundopelis.py | 145 +++++++++++++++++++++ 2 files changed, 194 insertions(+) create mode 100644 plugin.video.alfa/channels/mundopelis.json create mode 100644 plugin.video.alfa/channels/mundopelis.py diff --git a/plugin.video.alfa/channels/mundopelis.json b/plugin.video.alfa/channels/mundopelis.json new file mode 100644 index 00000000..c5d39098 --- /dev/null +++ b/plugin.video.alfa/channels/mundopelis.json @@ -0,0 +1,49 @@ +{ + "id": "mundopelis", + "name": "mundopelis", + "active": true, + "adult": false, + "language": ["cast", "lat"], + "thumbnail": "https://mundopelis.xyz/images/logo.png", + "banner": "", + "categories": [ + "movie" + ], + "settings": [ + { + "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/mundopelis.py b/plugin.video.alfa/channels/mundopelis.py new file mode 100644 index 00000000..3e3e8fca --- /dev/null +++ b/plugin.video.alfa/channels/mundopelis.py @@ -0,0 +1,145 @@ +# -*- 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://mundopelis.xyz' + +list_language = [] +list_servers = ['Rapidvideo', 'Vidoza', 'Openload', 'Youtube'] +list_quality = [] +__channel__='mundopelis' +__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="Novedades" , action="lista", url= host + "/todos-los-estrenos", first=0)) + itemlist.append(item.clone(title="Categorias" , action="categorias", url= host)) + 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 configuracion(item): + ret = platformtools.show_channel_settings() + platformtools.itemlist_refresh() + return ret + + +def search(item, texto): + logger.info() + texto = texto.replace(" ", "+") + item.url = host + "/?option=com_spmoviedb&view=searchresults&searchword=%s&type=movies&Itemid=544" % texto + item.first = 0 + 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 + patron = ' ([^"]+)' + matches = re.compile(patron,re.DOTALL).findall(data) + for scrapedurl, scrapedtitle in matches: + scrapedplot = "" + scrapedthumbnail = "" + url = urlparse.urljoin(item.url,scrapedurl) + title = scrapedtitle + itemlist.append(item.clone(channel=item.channel, action="lista", title=title , url=url, first=0, + thumbnail=scrapedthumbnail, plot=scrapedplot) ) + return itemlist + + +def lista(item): + logger.info() + itemlist = [] + + next = False + data = httptools.downloadpage(item.url).data + patron = '
.*?' + patron += ' len(matches): + last = len(matches) + next = True + scrapertools.printMatches(matches) + for scrapedthumbnail, scrapedurl, scrapedtitle in matches[first:last]: + scrapedyear = "-" + title = scrapedtitle.replace(" (2018)", "") + url = urlparse.urljoin(item.url,scrapedurl) + itemlist.append(item.clone(channel=item.channel, action = 'findvideos', title=title, contentTitle = scrapedtitle, + url=url, thumbnail=scrapedthumbnail, infoLabels={'year':scrapedyear} )) + tmdb.set_infoLabels(itemlist, True) + # Paginación + if not next: + url_next_page = item.url + first = last + else: + url_next_page = scrapertools.find_single_match(data, '", "", data) + patron = '<(?:iframe|IFRAME).*?(?:src|SRC)="([^"]+)"' + matches = scrapertools.find_multiple_matches(data, patron) + for url in matches: + lang = "VOSE" + if not config.get_setting('unify'): + title = ' (%s)' % (lang) + else: + title = '' + if url != '': + itemlist.append(item.clone(action="play", title='%s'+title, url=url, language=lang )) + itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize()) + + # Requerido para Filtrar enlaces + if __comprueba_enlaces__: + itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) + # Requerido para FilterTools + itemlist = filtertools.get_links(itemlist, item, list_language) + # Requerido para AutoPlay + autoplay.start(itemlist, item) + + + if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra !='findvideos' and not "/episodios/" in item.url : + itemlist.append(Item(channel=item.channel, action="add_pelicula_to_library", + title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', url=item.url, + extra="findvideos", contentTitle=item.contentTitle)) + return itemlist + + From dfe16f210c00f3f936d8c5194224d1b7fbe33321 Mon Sep 17 00:00:00 2001 From: chivmalev Date: Thu, 14 Mar 2019 16:49:53 -0300 Subject: [PATCH 07/13] maxipelis24:correcciones --- plugin.video.alfa/channels/maxipelis24.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/plugin.video.alfa/channels/maxipelis24.py b/plugin.video.alfa/channels/maxipelis24.py index bcfb0b3b..431a86bf 100644 --- a/plugin.video.alfa/channels/maxipelis24.py +++ b/plugin.video.alfa/channels/maxipelis24.py @@ -14,7 +14,7 @@ from channelselector import get_thumb host = "https://maxipelis24.tv" -IDIOMAS = {'Latino': 'Latino', 'Subtitulado': 'VOSE', 'Español': 'CAST'} +IDIOMAS = {'Latino': 'Latino', 'Subtitulado': 'VOSE', 'Español': 'CAST', 'Castellano':'CAST'} list_language = IDIOMAS.values() list_quality = [] list_servers = ['rapidvideo', 'vidoza', 'openload', 'streamango', 'okru'] @@ -113,18 +113,17 @@ def findvideos(item): itemlist = [] data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) - data1 = scrapertools.find_single_match( - data, '
    .*?
') - patron = "li>.*?href=.*?>([^\s]+)" - matches1 = re.compile(patron, re.DOTALL).findall(data1) - for lang in matches1: - if "VIP" in lang: - continue - idioma = lang - - patron = '
.*?
') + patron = 'li>.*?href="#div%s.*?>.*?([^\s]+)' % ot + matches1 = re.compile(patron, re.DOTALL).findall(data1) + for lang in matches1: + if "VIP" in lang: + continue + idioma = lang + if 'ok.ru' in link: patron = '
Date: Thu, 14 Mar 2019 18:33:41 -0300 Subject: [PATCH 08/13] maxipelis24:correcciones --- plugin.video.alfa/channels/maxipelis24.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugin.video.alfa/channels/maxipelis24.py b/plugin.video.alfa/channels/maxipelis24.py index 431a86bf..9be8e64e 100644 --- a/plugin.video.alfa/channels/maxipelis24.py +++ b/plugin.video.alfa/channels/maxipelis24.py @@ -14,7 +14,7 @@ from channelselector import get_thumb host = "https://maxipelis24.tv" -IDIOMAS = {'Latino': 'Latino', 'Subtitulado': 'VOSE', 'Español': 'CAST', 'Castellano':'CAST'} +IDIOMAS = {'Latino': 'Latino', 'Sub':'VOSE', 'Subtitulado': 'VOSE', 'Español': 'CAST', 'Castellano':'CAST'} list_language = IDIOMAS.values() list_quality = [] list_servers = ['rapidvideo', 'vidoza', 'openload', 'streamango', 'okru'] @@ -117,7 +117,7 @@ def findvideos(item): matches = re.compile(patron, re.DOTALL).findall(data) for ot, link in matches: data1 = scrapertools.find_single_match(data, '
    .*?
') - patron = 'li>.*?href="#div%s.*?>.*?([^\s]+)' % ot + patron = 'li>.*?href="#div%s.*?>.*?([^<|\s]+)' % ot matches1 = re.compile(patron, re.DOTALL).findall(data1) for lang in matches1: if "VIP" in lang: From 96f8eba9b031f17d4557b5f666320dce9d76387f Mon Sep 17 00:00:00 2001 From: paezner Date: Fri, 15 Mar 2019 14:22:22 +0100 Subject: [PATCH 09/13] Adultos correcccion codigo --- plugin.video.alfa/channels/eroticage.py | 6 ++---- plugin.video.alfa/channels/fetishshrine.py | 11 +++++------ plugin.video.alfa/channels/filmoviXXX.py | 4 ++-- plugin.video.alfa/channels/mundopelis.json | 5 +++-- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/plugin.video.alfa/channels/eroticage.py b/plugin.video.alfa/channels/eroticage.py index 3c18a5d4..32b9d77c 100644 --- a/plugin.video.alfa/channels/eroticage.py +++ b/plugin.video.alfa/channels/eroticage.py @@ -59,9 +59,8 @@ def lista(item): title = scrapedtitle thumbnail = scrapedthumbnail plot = "" - year = "" itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl, thumbnail=thumbnail, - plot=plot, contentTitle=contentTitle, infoLabels={'year':year} )) + plot=plot, fanart=scrapedthumbnail, contentTitle=contentTitle )) next_page = scrapertools.find_single_match(data,'
  • ') if next_page!="": next_page = urlparse.urljoin(item.url,next_page) @@ -80,11 +79,11 @@ def lista(item): def play(item): logger.info() itemlist = [] - data = scrapertools.cachePage(item.url) + data = httptools.downloadpage(item.url).data patron = 'video_url: \'([^\']+)\'' matches = scrapertools.find_multiple_matches(data, patron) for scrapedurl in matches: - itemlist.append(Item(channel=item.channel, action="play", title=item.title, fulltitle=item.fulltitle, url=scrapedurl, + itemlist.append(Item(channel=item.channel, action="play", title=item.title, url=scrapedurl, thumbnail=item.thumbnail, plot=item.plot, show=item.title, server="directo", folder=False)) return itemlist diff --git a/plugin.video.alfa/channels/filmoviXXX.py b/plugin.video.alfa/channels/filmoviXXX.py index 7308fb67..650f9335 100644 --- a/plugin.video.alfa/channels/filmoviXXX.py +++ b/plugin.video.alfa/channels/filmoviXXX.py @@ -26,7 +26,7 @@ def mainlist(item): thumbnail = scrapedthumbnail plot = "" itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl, - thumbnail=thumbnail, plot=plot, contentTitle=contentTitle)) + thumbnail=thumbnail, fanart=thumbnail, plot=plot, contentTitle=contentTitle)) next_page_url = scrapertools.find_single_match(data,'
  • <\/i> (.*?)<\/a>' - matches = matches = re.compile(patron, re.DOTALL).findall(data) + matches = re.compile(patron, re.DOTALL).findall(data) infoLabels = item.infoLabels for url, episode in matches: episodenumber = re.sub('C.* ','',episode) @@ -354,7 +355,7 @@ def get_links_by_language(item, data): video_list = [] language = scrapertools.find_single_match(data, 'ul id="level\d_([^"]+)"\s*class=') - patron = 'data-source="([^"]+)"data-quality="([^"]+)"data-srt="([^"]+)"' + patron = 'data-source="([^"]+)"data-quality="([^"]+)"data-srt="([^"]+)?"' matches = re.compile(patron, re.DOTALL).findall(data) if language in IDIOMAS: language = IDIOMAS[language] @@ -399,7 +400,6 @@ def findvideos(item): new_url = base_url.replace('/serie/', '/player/serie/') new_url += '|%s|%s/' % (item.contentSeason, item.contentEpisodeNumber) data = get_source(new_url, referer=item.url) - patron_language ='(