diff --git a/plugin.video.alfa/channels/animeid.py b/plugin.video.alfa/channels/animeid.py index d96e3f7d..b58be2ee 100755 --- a/plugin.video.alfa/channels/animeid.py +++ b/plugin.video.alfa/channels/animeid.py @@ -9,15 +9,16 @@ from core import scrapertools from core import servertools from core.item import Item from platformcode import config, logger -from channels import renumbertools,autoplay +from channels import renumbertools, autoplay CHANNEL_HOST = "https://www.animeid.tv/" -IDIOMAS = {'Latino':'LAT', 'VOSE': 'VOSE'} +IDIOMAS = {'Latino': 'LAT', 'VOSE': 'VOSE'} list_language = IDIOMAS.values() list_quality = [] list_servers = ['animeid'] + def mainlist(item): logger.info() autoplay.init(item.channel, list_servers, list_quality) @@ -69,7 +70,7 @@ def search(item, texto): ["User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:19.0) Gecko/20100101 Firefox/19.0"]) headers.append(["Referer", CHANNEL_HOST]) headers.append(["X-Requested-With", "XMLHttpRequest"]) - data = scrapertools.cache_page(item.url, headers=headers) + data = httptools.downloadpage(item.url, headers=headers).data data = data.replace("\\", "") patron = '{"id":"([^"]+)","text":"([^"]+)","date":"[^"]*","image":"([^"]+)","link":"([^"]+)"}' matches = re.compile(patron, re.DOTALL).findall(data) @@ -84,7 +85,7 @@ def search(item, texto): context.extend(context2) itemlist.append( Item(channel=item.channel, action="episodios", title=title, url=url, thumbnail=thumbnail, plot=plot, - context=context,show=title, viewmode="movie_with_plot")) + context=context, show=title, viewmode="movie_with_plot")) return itemlist @@ -110,7 +111,7 @@ def novedades_series(item): context2 = autoplay.context context.extend(context2) itemlist.append(Item(channel=item.channel, action="episodios", title=scrapedtitle, url=scrapedurl, - context=context,show=title, viewmode="movie_with_plot")) + context=context, show=title, viewmode="movie_with_plot")) return itemlist @@ -118,7 +119,7 @@ def novedades_episodios(item): logger.info() data = httptools.downloadpage(item.url).data data = scrapertools.find_single_match(data, '
(.*?)
') - patronvideos = '(?s)[^<]+
([^<]+).*?src="([^"]+)"[\s\S]+?

(.+?)

' + patronvideos = '(?s)
[^<]+
([^<]+).*?src="([^"]+)"[\s\S]+?

(.+?)

' matches = re.compile(patronvideos, re.DOTALL).findall(data) itemlist = [] for url, title, thumbnail, plot in matches: @@ -204,13 +205,13 @@ def episodios(item, final=True): data = httptools.downloadpage(item.url).data data_id = scrapertools.find_single_match(data, 'data-id="([^"]+)') CHANNEL_HEADERS = [ - ["Host", "m.animeid.tv"], - ["X-Requested-With", "XMLHttpRequest"] + ["Host", "m.animeid.tv"], + ["X-Requested-With", "XMLHttpRequest"] ] page = 0 while True: page += 1 - u = "https://m.animeid.tv/ajax/caps?id=%s&ord=DESC&pag=%s" %(data_id, page) + u = "https://m.animeid.tv/ajax/caps?id=%s&ord=DESC&pag=%s" % (data_id, page) data = httptools.downloadpage(u, headers=CHANNEL_HEADERS).data # Cuando ya no hay datos devuelve: "list":[] if '"list":[]' in data: @@ -218,21 +219,25 @@ def episodios(item, final=True): dict_data = jsontools.load(data) list = dict_data['list'][::-1] for dict in list: - season, episode = renumbertools.numbered_for_tratk(item.channel, item.contentSerieName, 1, int(dict["numero"])) - title = "%sx%s - %s" % (season, str(episode).zfill(2),dict["date"]) - itemlist.append(Item(action = "findvideos", - channel = item.channel, - title = title, - url = CHANNEL_HOST + dict['href'], - thumbnail = item.thumbnail, - show = item.show, - viewmode = "movie_with_plot" - )) + season, episode = renumbertools.numbered_for_tratk(item.channel, item.contentSerieName, 1, + int(dict["numero"])) + title = "%sx%s - %s" % (season, str(episode).zfill(2), dict["date"]) + itemlist.append(Item(action="findvideos", + channel=item.channel, + title=title, + url=CHANNEL_HOST + dict['href'], + thumbnail=item.thumbnail, + show=item.show, + viewmode="movie_with_plot" + )) if config.get_videolibrary_support(): - 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", show=item.show)) - itemlist.append(Item(channel=item.channel, title="[COLOR white]Descargar todos los episodios de la serie[/COLOR]", url=item.url, - action="download_all_episodes", extra="episodios", show=item.show)) + 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", show=item.show)) + itemlist.append( + Item(channel=item.channel, title="[COLOR white]Descargar todos los episodios de la serie[/COLOR]", + url=item.url, + action="download_all_episodes", extra="episodios", show=item.show)) return itemlist @@ -270,8 +275,8 @@ def findvideos(item): itemlist.append(Item(channel=item.channel, action="findvideos", title="Siguiente: " + title_siguiente, url=CHANNEL_HOST + url_siguiente, thumbnail=item.thumbnail, plot=item.plot, show=item.show, fanart=item.thumbnail, folder=True)) - + # Requerido para AutoPlay autoplay.start(itemlist, item) - + return itemlist diff --git a/plugin.video.alfa/channels/beeg.py b/plugin.video.alfa/channels/beeg.py index f3b68b14..36e3f020 100755 --- a/plugin.video.alfa/channels/beeg.py +++ b/plugin.video.alfa/channels/beeg.py @@ -3,7 +3,7 @@ import re import urllib -from core import jsontools as json +from core import jsontools as json, httptools from core import scrapertools from core.item import Item from platformcode import logger @@ -12,6 +12,7 @@ url_api = "" beeg_salt = "" Host = "https://beeg.com" + def get_api_url(): global url_api global beeg_salt @@ -53,7 +54,7 @@ def mainlist(item): itemlist = [] itemlist.append(Item(channel=item.channel, action="videos", title="Útimos videos", url=url_api + "/index/main/0/pc", viewmode="movie")) - #itemlist.append(Item(channel=item.channel, action="listcategorias", title="Listado categorias Populares", + # itemlist.append(Item(channel=item.channel, action="listcategorias", title="Listado categorias Populares", # url=url_api + "/index/main/0/pc", extra="popular")) itemlist.append(Item(channel=item.channel, action="listcategorias", title="Listado categorias completo", url=url_api + "/index/main/0/pc", extra="nonpopular")) @@ -65,7 +66,7 @@ def mainlist(item): def videos(item): logger.info() itemlist = [] - data = scrapertools.cache_page(item.url) + data = httptools.downloadpage(item.url).data JSONData = json.load(data) for Video in JSONData["videos"]: @@ -90,14 +91,14 @@ def videos(item): def listcategorias(item): logger.info() itemlist = [] - data = scrapertools.cache_page(item.url) + data = httptools.downloadpage(item.url).data JSONData = json.load(data) - #for Tag in JSONData["tags"][item.extra]: + # for Tag in JSONData["tags"][item.extra]: for Tag in JSONData["tags"]: url = url_api + "/index/tag/0/pc?tag=" + Tag["tag"] title = '%s - %s' % (str(Tag["tag"]), str(Tag["videos"])) - #title = title[:1].upper() + title[1:] + # title = title[:1].upper() + title[1:] itemlist.append( Item(channel=item.channel, action="videos", title=title, url=url, folder=True, viewmode="movie")) @@ -109,7 +110,7 @@ def search(item, texto): texto = texto.replace(" ", "+") item.url = item.url % (texto) - + try: return videos(item) # Se captura la excepción, para no interrumpir al buscador global si un canal falla @@ -136,7 +137,8 @@ def play(item): viedokey = re.compile("key=(.*?)%2Cend=", re.DOTALL).findall(url)[0] url = url.replace(viedokey, decode(viedokey)) - if not url.startswith("https:"): url = "https:" + url + if not url.startswith("https:"): + url = "https:" + url title = videourl itemlist.append(["%s %s [directo]" % (title, url[-4:]), url]) diff --git a/plugin.video.alfa/channels/canalpelis.py b/plugin.video.alfa/channels/canalpelis.py index fa550301..d827b70f 100644 --- a/plugin.video.alfa/channels/canalpelis.py +++ b/plugin.video.alfa/channels/canalpelis.py @@ -40,7 +40,6 @@ else: headers = [['User-Agent', 'Mozilla/50.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'], ['Referer', host]] - parameters = channeltools.get_channel_parameters(__channel__) fanart_host = parameters['fanart'] thumbnail_host = parameters['thumbnail'] @@ -105,7 +104,6 @@ def sub_search(item): matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedthumbnail, scrapedtitle, tipo, year in matches: - itemlist.append(item.clone(title=scrapedtitle, url=scrapedurl, contentTitle=scrapedtitle, action="findvideos", infoLabels={"year": year}, thumbnail=scrapedthumbnail, text_color=color3, page=0)) @@ -167,7 +165,6 @@ def peliculas(item): for scrapedthumbnail, scrapedtitle, rating, quality, scrapedurl, year in matches[item.page:item.page + 30]: if 'Próximamente' not in quality and '-XXX.jpg' not in scrapedthumbnail: - scrapedtitle = scrapedtitle.replace('Ver ', '').strip() contentTitle = scrapedtitle.partition(':')[0].partition(',')[0] title = "%s [COLOR green][%s][/COLOR] [COLOR yellow][%s][/COLOR]" % ( @@ -212,7 +209,7 @@ def generos(item): logger.info() itemlist = [] - data = scrapertools.cache_page(item.url) + data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) patron = '
  • ([^<]+) ([^<]+)
  • ' @@ -231,14 +228,13 @@ def year_release(item): logger.info() itemlist = [] - data = scrapertools.cache_page(item.url) + data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) # logger.info(data) patron = '
  • ([^<]+)
  • ' # url, title matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedtitle in matches: - itemlist.append(item.clone(channel=item.channel, action="peliculas", title=scrapedtitle, page=0, url=scrapedurl, text_color=color3, viewmode="movie_with_plot", extra='next')) @@ -365,7 +361,7 @@ def episodios(item): if i.infoLabels['title']: # Si el capitulo tiene nombre propio añadirselo al titulo del item i.title = "%sx%s %s" % (i.infoLabels['season'], i.infoLabels[ - 'episode'], i.infoLabels['title']) + 'episode'], i.infoLabels['title']) if i.infoLabels.has_key('poster_path'): # Si el capitulo tiene imagen propia remplazar al poster i.thumbnail = i.infoLabels['poster_path'] diff --git a/plugin.video.alfa/channels/cine24h.py b/plugin.video.alfa/channels/cine24h.py index 566bbb7f..5c328ea5 100644 --- a/plugin.video.alfa/channels/cine24h.py +++ b/plugin.video.alfa/channels/cine24h.py @@ -41,7 +41,6 @@ else: headers = [['User-Agent', 'Mozilla/50.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'], ['Referer', host]] - parameters = channeltools.get_channel_parameters(__channel__) fanart_host = parameters['fanart'] thumbnail_host = parameters['thumbnail'] @@ -121,10 +120,10 @@ def peliculas(item): data = re.sub(r"\n|\r|\t|\(.*?\)|\s{2}| ", "", data) data = scrapertools.decodeHtmlentities(data) patron = '
    .*?' # url - patron += '", "", data) patron = '
    \s*.*?' # url - patron += '", "", data) - patron = '