diff --git a/plugin.video.alfa/channels/allcalidad.py b/plugin.video.alfa/channels/allcalidad.py index 3f1f56a7..8c607370 100755 --- a/plugin.video.alfa/channels/allcalidad.py +++ b/plugin.video.alfa/channels/allcalidad.py @@ -161,8 +161,8 @@ def findvideos(item): title = titulo, url = url )) - tmdb.set_infoLabels(itemlist, __modo_grafico__) itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize()) + tmdb.set_infoLabels(itemlist, __modo_grafico__) # Requerido para FilterTools itemlist = filtertools.get_links(itemlist, item, list_language) diff --git a/plugin.video.alfa/channels/animeshd.json b/plugin.video.alfa/channels/animeshd.json index 23b4e042..8aeb2a89 100755 --- a/plugin.video.alfa/channels/animeshd.json +++ b/plugin.video.alfa/channels/animeshd.json @@ -8,5 +8,38 @@ "banner": "https://s4.postimg.cc/lulxulmql/animeshd-banner.png", "categories": [ "anime" + ], + "settings": [ + { + "id": "include_in_global_search", + "type": "bool", + "label": "Incluir en busqueda global", + "default": false, + "enabled": false, + "visible": false + }, + { + "id": "filter_languages", + "type": "list", + "label": "Mostrar enlaces en idioma...", + "default": 0, + "enabled": true, + "visible": true, + "lvalues": [ + "No filtrar", + "LAT", + "CAST", + "VOSE" + ] + }, + { + "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/animeshd.py b/plugin.video.alfa/channels/animeshd.py index d1f5635a..8d343d3b 100644 --- a/plugin.video.alfa/channels/animeshd.py +++ b/plugin.video.alfa/channels/animeshd.py @@ -10,6 +10,8 @@ from channelselector import get_thumb from core import tmdb from core.item import Item from platformcode import logger, config +from channels import autoplay +from channels import filtertools tgenero = {"Comedia": "https://s7.postimg.cc/ne9g9zgwb/comedia.png", "Drama": "https://s16.postimg.cc/94sia332d/drama.png", @@ -31,42 +33,60 @@ tgenero = {"Comedia": "https://s7.postimg.cc/ne9g9zgwb/comedia.png", host = "http://www.animeshd.tv" -headers = [['User-Agent', 'Mozilla/50.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'], - ['Referer', host]] +__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'poseidonhd') +__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'poseidonhd') + + +IDIOMAS = {'Castellano':'CAST','Latino': 'LAT', 'Subtitulado': 'VOSE'} +list_language = IDIOMAS.values() +list_quality = [] +list_servers = ['rapidvideo', 'openload', 'gvideo', 'streamango'] def mainlist(item): logger.info() + + autoplay.init(item.channel, list_servers, list_quality) + itemlist = [] - itemlist.append(item.clone(title="Ultimas", + + itemlist.append(item.clone(title="Castellano", action="lista", - thumbnail=get_thumb('last', auto=True), - fanart='https://s22.postimg.cc/cb7nmhwv5/ultimas.png', - url=host + '/ultimos' - )) + thumbnail=get_thumb('channels_spanish.png'), + fanart='https://s18.postimg.cc/fwvaeo6qh/todas.png', + url=host + '/castellano')) + + itemlist.append(item.clone(title="Latino", + action="lista", + thumbnail=get_thumb('channels_latino.png'), + fanart='https://s18.postimg.cc/fwvaeo6qh/todas.png', + url=host + '/latino')) itemlist.append(item.clone(title="Todas", action="lista", thumbnail=get_thumb('all', auto=True), fanart='https://s18.postimg.cc/fwvaeo6qh/todas.png', - url=host + '/buscar?t=todos&q=' - )) + url=host + '/buscar?t=todo&q=')) itemlist.append(item.clone(title="Generos", action="generos", url=host, thumbnail=get_thumb('genres', auto=True), - fanart='https://s3.postimg.cc/5s9jg2wtf/generos.png' - )) + fanart='https://s3.postimg.cc/5s9jg2wtf/generos.png')) itemlist.append(item.clone(title="Buscar", action="search", - url=host + '/buscar?t=todos&q=', + url=host + '/buscar?t=todo&q=', thumbnail=get_thumb('search', auto=True), fanart='https://s30.postimg.cc/pei7txpa9/buscar.png' )) + itemlist = filtertools.show_option(itemlist, item.channel, list_language, list_quality) + + autoplay.show_option(item.channel, itemlist) + + return itemlist @@ -98,21 +118,22 @@ def lista(item): title=title, url=url, thumbnail=thumbnail, - contentSerieName=title + contentSerieName=title, + context=filtertools.context(item, list_language, list_quality) )) # Paginacion next_page = scrapertools.find_single_match(data, - '
  • .*?<\/span><\/li>
  • .*?<\/a><\/li>') + '') next_page_url = scrapertools.decodeHtmlentities(next_page) if next_page_url != "": itemlist.append(Item(channel=item.channel, action="lista", title=">> Página siguiente", - url=next_page_url, + url=host+next_page_url, thumbnail='https://s16.postimg.cc/9okdu7hhx/siguiente.png' )) - tmdb.set_infoLabels(itemlist) + tmdb.set_infoLabels(itemlist, seekTmdb=True) return itemlist @@ -137,7 +158,7 @@ def generos(item): itemlist = [] data = get_source(item.url) - patron = '
  • (.*?)<\/a><\/li>' + patron = '
  • (.*?)<\/a><\/li>' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedtitle in matches: @@ -159,16 +180,59 @@ def episodios(item): itemlist = [] data = get_source(item.url) - patron = '
  • <\/span>(.*?) (\d+)<\/li>' + patron = '
  • .*?<\/span>(' \ + '.*?) (\d+)<\/li>' matches = re.compile(patron, re.DOTALL).findall(data) + infoLabels = item.infoLabels for scrapedurl, scrapedlang, scrapedtitle, episode in matches: language = scrapedlang title = scrapedtitle + " " + "1x" + episode url = scrapedurl - itemlist.append(item.clone(title=title, url=url, action='findvideos', language=language)) + infoLabels['season'] ='1' + infoLabels['episode'] = episode + + itemlist.append(Item(channel=item.channel, title=title, contentSerieName=item.contentSerieName, url=url, + action='findvideos', language=IDIOMAS[language], infoLabels=infoLabels)) - if config.get_videolibrary_support(): - itemlist.append(Item(channel=item.channel, title="Añadir serie a la biblioteca", url=item.url, action="add_serie_to_library", extra="episodios", fanart=item.thumbnail, thumbnail=item.thumbnail, contentTitle=item.show, show=item.show)) + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + + if config.get_videolibrary_support() and len(itemlist) > 0: + itemlist.append( + Item(channel=item.channel, title='[COLOR yellow]Añadir esta serie a la videoteca[/COLOR]', url=item.url, + action="add_serie_to_library", extra="episodios", contentSerieName=item.contentSerieName, + extra1='library')) return itemlist + +def findvideos(item): + logger.info() + + itemlist = [] + + data = get_source(item.url) + patron = "
    ') + import inspect + if next_page !='': + itemlist.append(item.clone(action = "lista", + title = 'Siguiente >>>', + url = next_page + )) + return itemlist + + +def genres(item): + logger.info() + + itemlist = [] + + data = get_source(item.url) + data = scrapertools.find_single_match(data,'Géneros(.+)
    ') + + patron = '' + + matches = re.compile(patron,re.DOTALL).findall(data) + + for value, title in matches: + url = item.url + value + title = title.decode('latin1').encode('utf8') + itemlist.append(Item(channel=item.channel, title=title, url=url, action='lista')) + return itemlist + +def search(item, texto): + logger.info() + texto = texto.replace(" ", "+") + item.url = item.url + texto + + if texto != '': + return lista(item) + else: + return [] + + +def seasons(item): + logger.info() + itemlist=[] + infoLabels = item.infoLabels + data=get_source(item.url) + patron ='href=javascript:showSeasson\(.*?\); id=.*?>Temporada (.*?)<\/a>' + matches = re.compile(patron, re.DOTALL).findall(data) + + for season in matches: + title='Temporada %s' % season + infoLabels['season'] = season + itemlist.append(Item(channel=item.channel, + title= title, + url=item.url, + action='episodesxseasons', + contentSeasonNumber=season, + contentSerieName=item.contentSerieName, + infoLabels=infoLabels + )) + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + itemlist = itemlist[::-1] + if config.get_videolibrary_support() and len(itemlist) > 0: + itemlist.append( + Item(channel=item.channel, title='[COLOR yellow]Añadir esta serie a la videoteca[/COLOR]', url=item.url, + action="add_serie_to_library", extra="all_episodes", contentSerieName=item.contentSerieName)) + + return itemlist + +def all_episodes(item): + logger.info() + itemlist = [] + templist = seasons(item) + for tempitem in templist: + itemlist += episodesxseasons(tempitem) + + return itemlist + +def episodesxseasons(item): + logger.info() + + itemlist=[] + + data=get_source(item.url) + patron = "
    %sx(.\d+)<\/div>.*?" % item.contentSeasonNumber + patron += "image:url\('(.*?)'.*?href.*?>(%s)<" % item.contentSerieName + matches = re.compile(patron, re.DOTALL).findall(data) + infoLabels=item.infoLabels + for episode, scrapedurl, scrapedthumbnail, scrapedtitle in matches: + contentEpisodeNumber=episode + season = item.contentSeasonNumber + url=scrapedurl + thumbnail=scrapedthumbnail + infoLabels['episode']=episode + title = '%sx%s - %s' % (season, episode, item.contentSerieName) + itemlist.append(Item(channel=item.channel, + action='findvideos', + title=title, + url=url, + thumbnail=thumbnail, + contentSerieName=item.contentSerieName, + contentEpisodeNumber=contentEpisodeNumber, + infoLabels=infoLabels + )) + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + + return itemlist[::-1] + + +def findvideos(item): + logger.info() + itemlist=[] + data = get_source(item.url) + patron = "showDownload\(([^\)]+)\);.*?alt=.*?torrent (.*?) " + matches = re.compile(patron, re.DOTALL).findall(data) + + for extra_info, quality in matches: + extra_info= extra_info.replace(",'",'|') + extra_info= extra_info.split('|') + title = '%s [%s]' % ('Torrent', quality.strip()) + if item.extra == 'movie': + url = extra_info[2].strip("'") + else: + url = extra_info[3].strip("'") + server = 'torrent' + + if not '.torrent' in url: + if 'tvsinpagar' in url: + url = url.replace('http://','http://www.') + try: + from_web = httptools.downloadpage(url, follow_redirects=False) + url = from_web.headers['location'] + except: + pass + + if '.torrent' in url: + itemlist.append(Item(channel=item.channel, + title=title, + contentTitle= item.title, + url=url, + action='play', + quality=quality, + server=server, + thumbnail = item.infoLabels['thumbnail'], + infoLabels=item.infoLabels + )) + + if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos': + itemlist.append(Item(channel=item.channel, + title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', + url=item.url, + action="add_pelicula_to_library", + extra="findvideos", + contentTitle=item.contentTitle + )) + + return itemlist + + +def newest(category): + logger.info() + item = Item() + try: + if category in ['peliculas', 'torrent']: + item.url = host + 'estrenos-de-cine' + item.extra='movie' + itemlist = lista(item) + if itemlist[-1].title == 'Siguiente >>>': + itemlist.pop() + if category == 'torrent': + + item.url = host+'series' + item.extra = 'serie' + itemlist.extend(lista(item)) + + if itemlist[-1].title == 'Siguiente >>>': + itemlist.pop() + except: + import sys + for line in sys.exc_info(): + logger.error("%s" % line) + return [] + + return itemlist diff --git a/plugin.video.alfa/channels/seriesverde.json b/plugin.video.alfa/channels/seriesverde.json new file mode 100644 index 00000000..8a9a8aeb --- /dev/null +++ b/plugin.video.alfa/channels/seriesverde.json @@ -0,0 +1,37 @@ +{ + "id": "seriesverde", + "name": "SeriesVerde", + "active": true, + "adult": false, + "language": ["cast", "lat"], + "thumbnail": "https://s33.postimg.cc/96dhv4trj/seriesverde.png", + "banner": "", + "categories": [ + "tvshow" + ], + "settings": [ + { + "id": "include_in_global_search", + "type": "bool", + "label": "Incluir en busqueda global", + "default": false, + "enabled": false, + "visible": false + }, + { + "id": "filter_languages", + "type": "list", + "label": "Mostrar enlaces en idioma...", + "default": 0, + "enabled": true, + "visible": true, + "lvalues": [ + "No filtrar", + "Cast", + "Lat", + "VOSE", + "VO" + ] + } + ] +} diff --git a/plugin.video.alfa/channels/seriesverde.py b/plugin.video.alfa/channels/seriesverde.py new file mode 100644 index 00000000..4061bcf9 --- /dev/null +++ b/plugin.video.alfa/channels/seriesverde.py @@ -0,0 +1,311 @@ +# -*- coding: utf-8 -*- +# -*- Channel SeriesVerde -*- +# -*- Created for Alfa-addon -*- +# -*- By the Alfa Develop Group -*- + +import re + +from channels import autoplay +from channels import filtertools +from core import httptools +from core import scrapertools +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://seriesverde.com/' + +IDIOMAS = {'es': 'Cast', 'la': 'Lat', 'vos': 'VOSE', 'vo': 'VO'} +list_language = IDIOMAS.values() +list_quality = ['SD', 'Micro-HD-720p', '720p', 'HDitunes', 'Micro-HD-1080p' ] +list_servers = ['powvideo','yourupload', 'openload', 'gamovideo', 'flashx', 'clipwatching', 'streamango', 'streamcloud'] + + +def mainlist(item): + logger.info() + + autoplay.init(item.channel, list_servers, list_quality) + + itemlist = [] + + itemlist.append(Item(channel=item.channel, + title="Todas", + action="list_all", + thumbnail=get_thumb('all', auto=True), + url=host + 'listado/', + )) + + itemlist.append(Item(channel=item.channel, + title="Generos", + action="section", + thumbnail=get_thumb('genres', auto=True), + url=host, + )) + + itemlist.append(Item(channel=item.channel, + title="A - Z", + action="section", + thumbnail=get_thumb('alphabet', auto=True), + url=host+'listado/', )) + + itemlist.append(Item(channel=item.channel, + title="Buscar", + action="search", + thumbnail=get_thumb('search', auto=True))) + + itemlist = filtertools.show_option(itemlist, item.channel, list_language, list_quality) + autoplay.show_option(item.channel, itemlist) + + return itemlist + + +def get_source(url): + logger.info() + data = httptools.downloadpage(url).data + data = re.sub(r'"|\n|\r|\t| |
    |\s{2,}', "", data) + return data + + +def list_all(item): + logger.info() + + itemlist = [] + data = get_source(item.url) + contentSerieName = '' + + patron = "
    .*?src='(.*?)' title='(.*?)'" + matches = re.compile(patron, re.DOTALL).findall(data) + + + for scrapedurl, scrapedthumbnail, scrapedtitle in matches: + + url = host + scrapedurl + thumbnail = scrapedthumbnail + title = scrapedtitle + + itemlist.append(Item(channel=item.channel, + action='seasons', + title=title, + url=url, + thumbnail=thumbnail, + contentTitle=scrapedtitle, + contentSerieName=contentSerieName, + context=filtertools.context(item, list_language, list_quality), + )) + + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + + # #Paginacion + + if itemlist != []: + base_page = scrapertools.find_single_match(item.url,'(.*?)?') + next_page = scrapertools.find_single_match(data, '>>') + if next_page != '': + itemlist.append(Item(channel=item.channel, + action="lista", + title='Siguiente >>>', + url=base_page+next_page, + thumbnail='https://s16.postimg.cc/9okdu7hhx/siguiente.png', + )) + return itemlist + + +def section(item): + logger.info() + + itemlist = [] + data = get_source(item.url) + if item.title == 'Generos': + patron = '
  • (.*?)
  • ' + elif item.title == 'A - Z': + patron = "(.*?)" + matches = re.compile(patron, re.DOTALL).findall(data) + + for scrapedurl, scrapedtitle in matches: + + url = host + scrapedurl + title = scrapedtitle + itemlist.append(Item(channel=item.channel, + action='list_all', + title=title, + url=url + )) + return itemlist + +def seasons(item): + logger.info() + itemlist = [] + data = get_source(item.url) + + patron = '.*?Temporada (\d+) ' + matches = re.compile(patron, re.DOTALL).findall(data) + infoLabels=item.infoLabels + for scrapedseason in matches: + url = item.url + title = 'Temporada %s' % scrapedseason + contentSeasonNumber = scrapedseason + infoLabels['season'] = contentSeasonNumber + thumbnail = item.thumbnail + itemlist.append(Item(channel=item.channel, + action="episodesxseason", + title=title, + url=url, + thumbnail=thumbnail, + contentSeasonNumber=contentSeasonNumber, + infoLabels=infoLabels + )) + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + if config.get_videolibrary_support() and len(itemlist) > 0: + itemlist.append(Item(channel=item.channel, + title='[COLOR yellow]Añadir esta serie a la videoteca[/COLOR]', + url=item.url, + action="add_serie_to_library", + extra="all_episodes", + contentSerieName=item.contentSerieName, + )) + + return itemlist + + +def all_episodes(item): + logger.info() + itemlist = [] + templist = seasons(item) + for tempitem in templist: + itemlist += episodesxseason(tempitem) + return itemlist + + +def episodesxseason(item): + logger.info() + itemlist = [] + data = get_source(item.url) + season = item.contentSeasonNumber + patron = "%s+x(\d+) - (.*?) .*?(/banderas.*?)" % \ + season + matches = re.compile(patron, re.DOTALL).findall(data) + infoLabels = item.infoLabels + for scrapedurl, scraped_episode, scrapedtitle, lang_data in matches: + url = host + scrapedurl + title = '%sx%s - %s' % (season, scraped_episode, scrapedtitle.strip()) + infoLabels['episode'] = scraped_episode + thumbnail = item.thumbnail + title, language = add_language(title, lang_data) + itemlist.append(Item(channel=item.channel, + action="findvideos", + title=title, + url=url, + thumbnail=thumbnail, + language=language, + infoLabels=infoLabels + )) + + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + return itemlist + + +def add_language(title, string): + logger.info() + language = [] + languages = scrapertools.find_multiple_matches(string, '/banderas/(.*?).png') + + for lang in languages: + if lang == 'japvose': + lang = 'vos' + language.append(IDIOMAS[lang]) + title = '%s [%s]' % (title, IDIOMAS[lang]) + + return title, language + + +def findvideos(item): + logger.info() + + itemlist = [] + + data = get_source(item.url) + patron = "|\s{2,}', "", data) + patron = ".*?src=(.*?) style.*?value=(.*?)>" + + matches = re.compile(patron, re.DOTALL).findall(data) + + for scrapedurl, scrapedthumb, scrapedtitle in matches: + itemlist.append(Item(channel=item.channel, + title=scrapedtitle, + url=host+scrapedurl, + action="seasons", + thumbnail=scrapedthumb, + contentSerieName=scrapedtitle, + context=filtertools.context(item, list_language, list_quality) + )) + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + + return itemlist + + +def search(item, texto): + logger.info() + import urllib + if texto != '': + post = {'query':texto} + post = urllib.urlencode(post) + item.post = post + + return search_results(item) diff --git a/plugin.video.alfa/channels/tiotorrent.py b/plugin.video.alfa/channels/tiotorrent.py index ad77c404..827d6caf 100644 --- a/plugin.video.alfa/channels/tiotorrent.py +++ b/plugin.video.alfa/channels/tiotorrent.py @@ -226,33 +226,83 @@ def episodesxseasons(item): return itemlist[::-1] +# def findvideos(item): +# logger.info() +# itemlist=[] +# data = get_source(item.url) +# patron = ".*?<\/a>(.*?)<\/i>.*? 0 and item.extra != 'findvideos': +# itemlist.append(Item(channel=item.channel, +# title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', +# url=item.url, +# action="add_pelicula_to_library", +# extra="findvideos", +# contentTitle=item.contentTitle +# )) +# +# return itemlist + + def findvideos(item): logger.info() itemlist=[] data = get_source(item.url) - patron = ".*?<\/a>(.*?)<\/i>.*? 0 and item.extra != 'findvideos': itemlist.append(Item(channel=item.channel, diff --git a/plugin.video.alfa/lib/unshortenit.py b/plugin.video.alfa/lib/unshortenit.py index 07141af1..a3973b87 100755 --- a/plugin.video.alfa/lib/unshortenit.py +++ b/plugin.video.alfa/lib/unshortenit.py @@ -28,11 +28,11 @@ def find_in_text(regex, text, flags=re.IGNORECASE | re.DOTALL): class UnshortenIt(object): - _adfly_regex = r'adf\.ly|q\.gs|j\.gs|u\.bb|ay\.gy|threadsphere\.bid|restorecosm\.bid' + _adfly_regex = r'adf\.ly|q\.gs|j\.gs|u\.bb|ay\.gy|threadsphere\.bid|restorecosm\.bid|clearload\.bid' _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' - _shst_regex = r'sh\.st' + _shst_regex = r'sh\.st|gestyy\.com' _hrefli_regex = r'href\.li' _anonymz_regex = r'anonymz\.com' _shrink_service_regex = r'shrink-service\.it' diff --git a/plugin.video.alfa/servers/clipwatching.json b/plugin.video.alfa/servers/clipwatching.json index a411ac8b..8fceac73 100644 --- a/plugin.video.alfa/servers/clipwatching.json +++ b/plugin.video.alfa/servers/clipwatching.json @@ -9,7 +9,7 @@ }, { "pattern": "clipwatching.com/(\\w+)", - "url": "http://clipwatching.com/\\1.html" + "url": "http://clipwatching.com/embed-\\1.html" } ] }, diff --git a/plugin.video.alfa/servers/clipwatching.py b/plugin.video.alfa/servers/clipwatching.py index a954f252..f1858955 100644 --- a/plugin.video.alfa/servers/clipwatching.py +++ b/plugin.video.alfa/servers/clipwatching.py @@ -17,7 +17,9 @@ def get_video_url(page_url, user="", password="", video_password=""): logger.info("(page_url='%s')" % page_url) data = httptools.downloadpage(page_url).data video_urls = [] - videourl, label = scrapertools.find_single_match(data, 'file:"([^"]+).*?label:"([^"]+)') - video_urls.append([label + " [clipwatching]", videourl]) - + videos = scrapertools.find_multiple_matches(data, 'file:"([^"]+).*?label:"([^"]+)') + for video, label in videos: + video_urls.append([label + " [clipwatching]", video]) + logger.info("Url: %s" %videos) + video_urls.sort(key=lambda it: int(it[0].split("p ", 1)[0])) return video_urls diff --git a/plugin.video.alfa/servers/filebebo.json b/plugin.video.alfa/servers/filebebo.json index d6e43254..906fa4fe 100644 --- a/plugin.video.alfa/servers/filebebo.json +++ b/plugin.video.alfa/servers/filebebo.json @@ -4,7 +4,7 @@ "ignore_urls": [], "patterns": [ { - "pattern": "(https://filebebo.com/e/[a-zA-Z0-9]+)", + "pattern": "(https://filebebo.com/(?:e|d)/[a-zA-Z0-9]+)", "url": "\\1" } ] @@ -39,4 +39,4 @@ } ], "thumbnail": "https://filebebo.com/images/logo.png" -} \ No newline at end of file +} diff --git a/plugin.video.alfa/servers/vidup.json b/plugin.video.alfa/servers/vidup.json index aae98f24..62ec188d 100755 --- a/plugin.video.alfa/servers/vidup.json +++ b/plugin.video.alfa/servers/vidup.json @@ -4,8 +4,8 @@ "ignore_urls": [], "patterns": [ { - "pattern": "vidup.me/(?:embed-|)([A-z0-9]+)", - "url": "http://vidup.me/embed-\\1.html" + "pattern": "vidup.(?:me|tv)/(?:embed-|)([A-z0-9]+)", + "url": "http://vidup.tv/embed-\\1.html" } ] }, @@ -39,4 +39,4 @@ } ], "thumbnail": "http://i.imgur.com/sZvy8IC.png?1" -} \ No newline at end of file +} diff --git a/plugin.video.alfa/servers/vidup.py b/plugin.video.alfa/servers/vidup.py index 59eefc60..d6ffa53d 100755 --- a/plugin.video.alfa/servers/vidup.py +++ b/plugin.video.alfa/servers/vidup.py @@ -7,32 +7,25 @@ from platformcode import logger def test_video_exists(page_url): logger.info("(page_url='%s')" % page_url) - data = httptools.downloadpage(page_url).data - if "Not Found" in data: - return False, "[Vidup.me] El fichero no existe o ha sido borrado" - + return False, "[Vidup] El fichero no existe o ha sido borrado" return True, "" def get_video_url(page_url, premium=False, user="", password="", video_password=""): logger.info("url=" + page_url) - data = httptools.downloadpage(page_url).data - key = scrapertools.find_single_match(data, "var mpri_Key\s*=\s*'([^']+)'") - data_vt = httptools.downloadpage("http://vidup.me/jwv/%s" % key).data - vt = scrapertools.find_single_match(data_vt, 'file\|(.*?)\|direct') - + key = scrapertools.find_single_match(data, "var thief\s*=\s*'([^']+)'") + data_vt = httptools.downloadpage("http://vidup.tv/jwv/%s" % key).data + vt = scrapertools.find_single_match(data_vt, 'file\|direct\|(.*?)\|') # Extrae la URL video_urls = [] media_urls = scrapertools.find_multiple_matches(data, '\{"file"\:"([^"]+)","label"\:"([^"]+)"\}') for media_url, label in media_urls: ext = scrapertools.get_filename_from_url(media_url)[-4:] media_url += "?direct=false&ua=1&vt=%s" % vt - video_urls.append(["%s (%s) [vidup.me]" % (ext, label), media_url]) - + video_urls.append(["%s (%s) [vidup]" % (ext, label), media_url]) for video_url in video_urls: logger.info("%s - %s" % (video_url[0], video_url[1])) - return video_urls