diff --git a/plugin.video.alfa/channels/cuelgame.py b/plugin.video.alfa/channels/cuelgame.py index 7e323deb..a6b4b641 100755 --- a/plugin.video.alfa/channels/cuelgame.py +++ b/plugin.video.alfa/channels/cuelgame.py @@ -1,55 +1,24 @@ # -*- coding: utf-8 -*- import re -import unicodedata import urlparse -import xbmc -import xbmcgui from core import scrapertools, httptools from core.item import Item from core.scrapertools import decodeHtmlentities as dhe from platformcode import logger -ACTION_SHOW_FULLSCREEN = 36 -ACTION_GESTURE_SWIPE_LEFT = 511 -ACTION_SELECT_ITEM = 7 -ACTION_PREVIOUS_MENU = 10 -ACTION_MOVE_LEFT = 1 -ACTION_MOVE_RIGHT = 2 -ACTION_MOVE_DOWN = 4 -ACTION_MOVE_UP = 3 -OPTION_PANEL = 6 -OPTIONS_OK = 5 - -api_key = "2e2160006592024ba87ccdf78c28f49f" -api_fankey = "dffe90fba4d02c199ae7a9e71330c987" - def mainlist(item): logger.info() itemlist = [] - itemlist.append(Item(channel=item.channel, title="[COLOR forestgreen]Cine[/COLOR]", action="scraper", + itemlist.append(Item(channel=item.channel, title="[COLOR forestgreen]Videos[/COLOR]", action="scraper", url="http://cuelgame.net/?category=4", thumbnail="http://img5a.flixcart.com/image/poster/q/t/d/vintage-camera-collage-sr148-medium-400x400-imadkbnrnbpggqyz.jpeg", fanart="http://imgur.com/7frGoPL.jpg")) - itemlist.append(Item(channel=item.channel, title="[COLOR forestgreen]Series[/COLOR]", action="scraper", - url="http://cuelgame.net/?category=8", thumbnail="http://imgur.com/OjP42lL.jpg", - fanart="http://imgur.com/Xm49VbL.jpg")) - itemlist.append(Item(channel=item.channel, title="[COLOR forestgreen]TV[/COLOR]", action="scraper", - url="http://cuelgame.net/?category=67", thumbnail="http://imgur.com/C4VDnTo.png", - fanart="http://imgur.com/LDoJrAf.jpg")) - itemlist.append(Item(channel=item.channel, title="[COLOR forestgreen]Documentales[/COLOR]", action="scraper", - url="http://cuelgame.net/?category=68", thumbnail="http://imgur.com/nofNYjy.jpg", - fanart="http://imgur.com/upB1jL8.jpg")) - itemlist.append(Item(channel=item.channel, title="[COLOR forestgreen]Música[/COLOR]", action="scraper", - url="http://cuelgame.net/?category=13", thumbnail="http://imgur.com/DPrOlme.jpg", - fanart="http://imgur.com/FxM6xGY.jpg")) - itemlist.append(Item(channel=item.channel, title="[COLOR forestgreen]Buscar[/COLOR]", action="search", url="", thumbnail="http://images2.alphacoders.com/846/84682.jpg", fanart="http://imgur.com/1sIHN1r.jpg")) - return itemlist @@ -71,41 +40,18 @@ def search(item, texto): def scraper(item): logger.info() itemlist = [] - check_search = item.url # Descarga la página data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| |CET", "", data) - - # corrige la falta de imagen - # data = re.sub(r"

","

",data) - - ''' -

Automata (2014) [HDRip] [VO] magnet Enlace directo

magnet:?xt=urn:btih:4E7192D0885DDB9219699BBFFD72E709006BF...
porDios hace7 horaspublicado hace5 horas 58 minutos

En un futuro no lejano, en el que el planeta Tierra sufre una creciente desertización, Jacq Vaucan (Antonio Banderas), un agente de seguros de una compañía de robótica, investiga un caso en apariencia rutinario cuando descubre algo que podría tener consecuencias decisivas para el futuro de la humanidad. Banderas produce y protagoniza este thriller futurista, que especula sobre lo que ocurriría si la inteligencia artificial superase a la humana.| Más info. en comentarios.

- - ''' - # id_torrent = scrapertools.get_match(item.url,"(\d+)-") - patron = '

(.*?)<\/a>(.*?)

([^<]+)<.*?p>.*?title="meta.*?href=".*?amp;(.*?)"' - ''' - patron += ' Más info. en comentarios.", "", scrapedplot) - scrapedplot = re.sub(r"<.*?>", "", scrapedplot).strip() - + if scrapedurl.startswith("ed2k:"): + continue scrapedtitle = "[COLOR greenyellow]" + scrapedtitle + "[/COLOR]" - - extra = title_fan + "|" + year + "|" + scrapedplot + "|" + scrapedurl + "|" + item.url - - if "category=4" in item.url or "category=8" in item.url: - - itemlist.append(Item(channel=item.channel, title=scrapedtitle, url="", action="fanart", server="torrent", - thumbnail=scrapedthumbnail, extra=extra, folder=True)) - else: - - itemlist.append( - Item(channel=item.channel, title=scrapedtitle, url=scrapedurl, action="play", server="torrent", - thumbnail=scrapedthumbnail, folder=False)) - + itemlist.append( + Item(channel=item.channel, title=scrapedtitle, url=scrapedurl, action="play", server="torrent", + thumbnail=scrapedthumbnail, folder=False)) # Extrae el paginador - - patronvideos = '' - matches = re.compile(patronvideos, re.DOTALL).findall(data) - scrapertools.printMatches(matches) - + matches = scrapertools.find_multiple_matches(data, patronvideos) if len(matches) > 0: # corrige "&" para la paginación next_page = matches[0].replace("amp;", "") - - if "search" in check_search: - scrapedurl = urlparse.urljoin(check_search, next_page) - else: - scrapedurl = urlparse.urljoin(item.url, next_page) + scrapedurl = urlparse.urljoin(item.url, next_page) itemlist.append(Item(channel=item.channel, action="scraper", title="Página siguiente >>", url=scrapedurl, thumbnail="http://imgur.com/ycPgVVO.png", folder=True)) - return itemlist -def fanart(item): - logger.info() - itemlist = [] - - check_sp = item.extra.split("|")[4] - title_fan = item.extra.split("|")[0] - fulltitle = item.title - fulltitle = re.sub(r"720p|1080.*", "", fulltitle) - title_fan = re.sub(r"H264.*|Netflix.*|Mitos Griegos|HDTV.*|\d\d\d\d", "", title_fan).strip() - item.title = title_fan.upper() - item.title = "[COLOR springgreen][B]" + item.title + "[/B][/COLOR]" - title = title_fan.replace(' ', '%20') - title = ''.join((c for c in unicodedata.normalize('NFD', unicode(title.decode('utf-8'))) if - unicodedata.category(c) != 'Mn')).encode("ascii", "ignore") - item.url = item.extra.split("|")[3] - - try: - sinopsis = item.extra.split("|")[2] - except: - sinopsis = "" - - if "category=4" in check_sp: - id_tmdb = "" - # filmafinity - year = item.extra.split("|")[1] - - url = "http://www.filmaffinity.com/es/advsearch.php?stext={0}&stype%5B%5D=title&country=&genre=&fromyear={1}&toyear={1}".format( - title, year) - data = httptools.downloadpage(url).data - - url_filmaf = scrapertools.find_single_match(data, '

\s*

(

((.*?)') - sinopsis = sinopsis.replace("

", "\n") - sinopsis = re.sub(r"\(FILMAFFINITY\)
", "", sinopsis) - except: - pass - try: - rating_filma = scrapertools.get_match(data, 'itemprop="ratingValue" content="(.*?)">') - except: - rating_filma = "Sin puntuacion" - - critica = "" - patron = '
(.*?)
.*?itemprop="author">(.*?)\s*

(

(Año.*?>(.*?)') - except: - year = "" - - if sinopsis == " ": - sinopsis = scrapertools.find_single_match(data, '
(.*?)
') - sinopsis = sinopsis.replace("

", "\n") - sinopsis = re.sub(r"\(FILMAFFINITY\)
", "", sinopsis) - try: - rating_filma = scrapertools.get_match(data, 'itemprop="ratingValue" content="(.*?)">') - except: - rating_filma = "Sin puntuacion" - print "lobeznito" - print rating_filma - - critica = "" - patron = '
(.*?)
.*?itemprop="author">(.*?)\s*(.*?)h="ID.*?.*?TV Series') - except: - pass - - try: - imdb_id = scrapertools.get_match(subdata_imdb, '
(.*?)<') - except: - ratintg_tvdb = "" - try: - rating = scrapertools.get_match(data, '"vote_average":(.*?),') - except: - - rating = "Sin puntuación" - - id_scraper = id_tmdb + "|" + "serie" + "|" + rating_filma + "|" + critica + "|" + rating + "|" + status # +"|"+emision - - posterdb = scrapertools.find_single_match(data_tmdb, '"poster_path":(.*?)",') - - if "null" in posterdb: - posterdb = item.thumbnail - else: - posterdb = re.sub(r'\\|"', '', posterdb) - posterdb = "https://image.tmdb.org/t/p/original" + posterdb - - if "null" in fan: - fanart = item.fanart - else: - fanart = "https://image.tmdb.org/t/p/original" + fan - - item.extra = fanart - - url = "http://api.themoviedb.org/3/tv/" + id_tmdb + "/images?api_key=" + api_key - data = httptools.downloadpage(url).data - data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) - - patron = '"backdrops".*?"file_path":".*?",.*?"file_path":"(.*?)",.*?"file_path":"(.*?)",.*?"file_path":"(.*?)"' - matches = re.compile(patron, re.DOTALL).findall(data) - - if len(matches) == 0: - patron = '"backdrops".*?"file_path":"(.*?)",.*?"file_path":"(.*?)",.*?"file_path":"(.*?)"' - matches = re.compile(patron, re.DOTALL).findall(data) - if len(matches) == 0: - fanart_info = item.extra - fanart_3 = "" - fanart_2 = item.extra - for fanart_info, fanart_3, fanart_2 in matches: - fanart_info = "https://image.tmdb.org/t/p/original" + fanart_info - fanart_3 = "https://image.tmdb.org/t/p/original" + fanart_3 - fanart_2 = "https://image.tmdb.org/t/p/original" + fanart_2 - if fanart == item.fanart: - fanart = fanart_info - url = "http://webservice.fanart.tv/v3/tv/" + id + "?api_key=" + api_fankey - data = httptools.downloadpage(url).data - data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) - patron = '"clearlogo":.*?"url": "([^"]+)"' - matches = re.compile(patron, re.DOTALL).findall(data) - if '"tvbanner"' in data: - tvbanner = scrapertools.get_match(data, '"tvbanner":.*?"url": "([^"]+)"') - tfv = tvbanner - elif '"tvposter"' in data: - tvposter = scrapertools.get_match(data, '"tvposter":.*?"url": "([^"]+)"') - tfv = tvposter - else: - tfv = posterdb - if '"tvthumb"' in data: - tvthumb = scrapertools.get_match(data, '"tvthumb":.*?"url": "([^"]+)"') - if '"hdtvlogo"' in data: - hdtvlogo = scrapertools.get_match(data, '"hdtvlogo":.*?"url": "([^"]+)"') - if '"hdclearart"' in data: - hdtvclear = scrapertools.get_match(data, '"hdclearart":.*?"url": "([^"]+)"') - if len(matches) == 0: - if '"hdtvlogo"' in data: - if "showbackground" in data: - - if '"hdclearart"' in data: - thumbnail = hdtvlogo - extra = hdtvclear + "|" + year - show = fanart_2 + "|" + fanart_3 + "|" + sinopsis + "|" + title_fan + "|" + tfv + "|" + id_tmdb - else: - thumbnail = hdtvlogo - extra = thumbnail + "|" + year - show = fanart_2 + "|" + fanart_3 + "|" + sinopsis + "|" + title_fan + "|" + tfv + "|" + id_tmdb - if temp_epi: - itemlist.append(Item(channel=item.channel, title=item.title, action="play", url=item.url, - server="torrent", thumbnail=thumbnail, fanart=item.extra, - category=category, extra=extra, show=show, folder=False)) - else: - itemlist.append( - Item(channel=item.channel, title=item.title, action="findvideos", url=item.url, - fulltitle=temp + "|" + epi, thumbnail=thumbnail, fanart=item.extra, - category=category, extra=extra, show=show, folder=True)) - - - else: - if '"hdclearart"' in data: - thumbnail = hdtvlogo - extra = hdtvclear + "|" + year - show = fanart_2 + "|" + fanart_3 + "|" + sinopsis + "|" + title_fan + "|" + tfv + "|" + id_tmdb - else: - thumbnail = hdtvlogo - extra = thumbnail + "|" + year - show = fanart_2 + "|" + fanart_3 + "|" + sinopsis + "|" + title_fan + "|" + tfv + "|" + id_tmdb - if temp_epi: - itemlist.append(Item(channel=item.channel, title=item.title, action="play", url=item.url, - server="torrent", thumbnail=thumbnail, fanart=item.extra, - category=category, extra=extra, show=show, folder=False)) - else: - itemlist.append( - Item(channel=item.channel, title=item.title, action="findvideos", url=item.url, - fulltitle=temp + "|" + epi, thumbnail=thumbnail, fanart=item.extra, extra=extra, - show=show, category=category, folder=True)) - else: - extra = "" + "|" + year - show = fanart_2 + "|" + fanart_3 + "|" + sinopsis + "|" + title_fan + "|" + tfv + "|" + id_tmdb - if temp_epi: - itemlist.append( - Item(channel=item.channel, title=item.title, action="play", url=item.url, server="torrent", - thumbnail=posterdb, fanart=fanart, extra=extra, show=show, category=category, - folder=False)) - else: - itemlist.append(Item(channel=item.channel, title=item.title, action="findvideos", url=item.url, - fulltitle=temp + "|" + epi, thumbnail=posterdb, fanart=fanart, extra=extra, - show=show, category=category, folder=True)) - - for logo in matches: - if '"hdtvlogo"' in data: - thumbnail = hdtvlogo - elif not '"hdtvlogo"' in data: - if '"clearlogo"' in data: - thumbnail = logo - else: - thumbnail = item.thumbnail - if '"clearart"' in data: - clear = scrapertools.get_match(data, '"clearart":.*?"url": "([^"]+)"') - if "showbackground" in data: - - extra = clear + "|" + year - show = fanart_2 + "|" + fanart_3 + "|" + sinopsis + "|" + title_fan + "|" + tfv + "|" + id_tmdb - if temp_epi: - itemlist.append(Item(channel=item.channel, title=item.title, action="play", url=item.url, - server="torrent", thumbnail=thumbnail, fanart=item.extra, extra=extra, - show=show, category=category, folder=False)) - else: - itemlist.append( - Item(channel=item.channel, title=item.title, action="findvideos", url=item.url, - fulltitle=temp + "|" + epi, thumbnail=thumbnail, fanart=item.extra, extra=extra, - show=show, category=category, folder=True)) - - else: - extra = clear + "|" + year - show = fanart_2 + "|" + fanart_3 + "|" + sinopsis + "|" + title_fan + "|" + tfv + "|" + id_tmdb - if temp_epi: - itemlist.append(Item(channel=item.channel, title=item.title, action="play", url=item.url, - server="torrent", thumbnail=thumbnail, fanart=item.extra, extra=extra, - show=show, category=category, folder=False)) - else: - itemlist.append( - Item(channel=item.channel, title=item.title, action="findvideos", url=item.url, - fulltitle=temp + "|" + epi, thumbnail=thumbnail, fanart=item.extra, extra=extra, - show=show, category=category, folder=True)) - - if "showbackground" in data: - - if '"clearart"' in data: - clear = scrapertools.get_match(data, '"clearart":.*?"url": "([^"]+)"') - extra = clear + "|" + year - show = fanart_2 + "|" + fanart_3 + "|" + sinopsis + "|" + title_fan + "|" + tfv + "|" + id_tmdb - else: - extra = logo + "|" + year - show = fanart_2 + "|" + fanart_3 + "|" + sinopsis + "|" + title_fan + "|" + tfv + "|" + id_tmdb - if temp_epi: - itemlist.append(Item(channel=item.channel, title=item.title, action="play", url=item.url, - server="torrent", thumbnail=thumbnail, fanart=item.extra, extra=extra, - show=show, category=category, folder=False)) - else: - itemlist.append( - Item(channel=item.channel, title=item.title, action="findvideos", url=item.url, - fulltitle=temp + "|" + epi, thumbnail=thumbnail, fanart=item.extra, extra=extra, - show=show, category=category, folder=True)) - - if not '"clearart"' in data and not '"showbackground"' in data: - if '"hdclearart"' in data: - extra = hdtvclear + "|" + year - show = fanart_2 + "|" + fanart_3 + "|" + sinopsis + "|" + title_fan + "|" + tfv + "|" + id_tmdb - else: - extra = thumbnail + "|" + year - show = fanart_2 + "|" + fanart_3 + "|" + sinopsis + "|" + title_fan + "|" + tfv + "|" + id_tmdb - if temp_epi: - itemlist.append( - Item(channel=item.channel, title=item.title, action="play", url=item.url, server="torrent", - thumbnail=thumbnail, fanart=item.extra, extra=extra, show=show, category=category, - folder=False)) - else: - itemlist.append(Item(channel=item.channel, title=item.title, action="findvideos", url=item.url, - fulltitle=temp + "|" + epi, thumbnail=thumbnail, fanart=item.extra, - extra=extra, show=show, category=category, folder=True)) - title_info = "[COLOR olivedrab][B]Info[/B][/COLOR]" - if not "serie" in item.url: - thumbnail = posterdb - - if "serie" in item.url: - - if '"tvposter"' in data: - thumbnail = scrapertools.get_match(data, '"tvposter":.*?"url": "([^"]+)"') - else: - thumbnail = item.thumbnail - - if "tvbanner" in data: - category = tvbanner - else: - category = show - if '"tvthumb"' in data: - plot = item.plot + "|" + tvthumb - else: - plot = item.plot + "|" + item.thumbnail - if '"tvbanner"' in data: - plot = plot + "|" + tvbanner - elif '"tvthumb"' in data: - plot = plot + "|" + tvthumb - else: - plot = plot + "|" + item.thumbnail - else: - if '"moviethumb"' in data: - plot = item.plot + "|" + thumb - else: - plot = item.plot + "|" + posterdb - - if '"moviebanner"' in data: - plot = plot + "|" + banner - else: - if '"hdmovieclearart"' in data: - plot = plot + "|" + clear - - else: - plot = plot + "|" + posterdb - - id = id_scraper - - extra = extra + "|" + id + "|" + title.encode('utf8') + "|" + check_sp - - itemlist.append( - Item(channel=item.channel, action="info", title=title_info, plot=plot, url=item.url, thumbnail=thumbnail, - fanart=fanart_info, extra=extra, category=category, show=show, viewmode="movie_with_plot", folder=False)) - - return itemlist - - -def findvideos(item): - logger.info() - itemlist = [] - temp = item.fulltitle.split("|")[0] - epi = item.fulltitle.split("|")[1] - - url_temp = "http://api.themoviedb.org/3/tv/" + item.show.split("|")[ - 5] + "/season/" + temp + "/images?api_key=" + api_key + "" - data = httptools.downloadpage(url_temp).data - data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) - patron = '{"id".*?"file_path":"(.*?)","height"' - matches = re.compile(patron, re.DOTALL).findall(data) - if len(matches) == 0: - thumbnail = item.thumbnail - for thumtemp in matches: - thumbnail = "https://image.tmdb.org/t/p/original" + thumtemp - title = item.show.split("|")[3] + " " + temp + "x" + epi - title = "[COLOR lightgreen]" + title + "[/COLOR]" - itemlist.append(Item(channel=item.channel, title=title, action="play", url=item.url, server="torrent", - thumbnail=item.show.split("|")[4], extra=item.extra, show=item.show, - fanart=item.show.split("|")[0], fulltitle=title, folder=False)) - extra = item.extra + "|" + temp + "|" + epi - title_info = " Info" - title_info = "[COLOR darkseagreen]" + title_info + "[/COLOR]" - itemlist.append( - Item(channel=item.channel, action="info_capitulos", title=title_info, url=item.url, thumbnail=thumbnail, - fanart=item.show.split("|")[1], extra=extra, show=item.show, category=item.category, folder=False)) - return itemlist - - -def info(item): - logger.info() - itemlist = [] - url = item.url - id = item.extra - - if "serie" in item.extra.split("|")[3]: - try: - rating_tmdba_tvdb = item.extra.split("|")[6] - if item.extra.split("|")[6] == "": - rating_tmdba_tvdb = "Sin puntuación" - except: - rating_tmdba_tvdb = "Sin puntuación" - else: - rating_tmdba_tvdb = item.extra.split("|")[3] - rating_filma = item.extra.split("|")[4] - print "eztoquee" - print rating_filma - print rating_tmdba_tvdb - - filma = "http://s6.postimg.org/6yhe5fgy9/filma.png" - - try: - if "serie" in item.extra.split("|")[3]: - title = item.extra.split("|")[8] - - else: - title = item.extra.split("|")[6] - title = title.replace("%20", " ") - title = "[COLOR green][B]" + title + "[/B][/COLOR]" - except: - title = item.title - - try: - if "." in rating_tmdba_tvdb: - check_rat_tmdba = scrapertools.get_match(rating_tmdba_tvdb, '(\d+).') - else: - check_rat_tmdba = rating_tmdba_tvdb - if int(check_rat_tmdba) >= 5 and int(check_rat_tmdba) < 8: - rating = "[COLOR springgreen][B]" + rating_tmdba_tvdb + "[/B][/COLOR]" - elif int(check_rat_tmdba) >= 8 or rating_tmdba_tvdb == 10: - rating = "[COLOR yellow][B]" + rating_tmdba_tvdb + "[/B][/COLOR]" - else: - rating = "[COLOR crimson][B]" + rating_tmdba_tvdb + "[/B][/COLOR]" - print "lolaymaue" - except: - rating = "[COLOR crimson][B]" + rating_tmdba_tvdb + "[/B][/COLOR]" - if "10." in rating: - rating = re.sub(r'10\.\d+', '10', rating) - try: - check_rat_filma = scrapertools.get_match(rating_filma, '(\d)') - print "paco" - print check_rat_filma - if int(check_rat_filma) >= 5 and int(check_rat_filma) < 8: - print "dios" - print check_rat_filma - rating_filma = "[COLOR springgreen][B]" + rating_filma + "[/B][/COLOR]" - elif int(check_rat_filma) >= 8: - - print check_rat_filma - rating_filma = "[COLOR yellow][B]" + rating_filma + "[/B][/COLOR]" - else: - rating_filma = "[COLOR crimson][B]" + rating_filma + "[/B][/COLOR]" - print "rojo??" - print check_rat_filma - except: - rating_filma = "[COLOR crimson][B]" + rating_filma + "[/B][/COLOR]" - - try: - if not "serie" in item.extra.split("|")[3]: - url_plot = "http://api.themoviedb.org/3/movie/" + item.extra.split("|")[ - 1] + "?api_key=" + api_key + "&append_to_response=credits&language=es" - data_plot = httptools.downloadpage(url_plot).data - plot, tagline = scrapertools.find_single_match(data_plot, '"overview":"(.*?)",.*?"tagline":(".*?")') - if plot == "": - plot = item.show.split("|")[2] - - plot = "[COLOR moccasin][B]" + plot + "[/B][/COLOR]" - plot = re.sub(r"\\", "", plot) - - else: - plot = item.show.split("|")[2] - plot = "[COLOR moccasin][B]" + plot + "[/B][/COLOR]" - plot = re.sub(r"\\", "", plot) - - if item.extra.split("|")[7] != "": - tagline = item.extra.split("|")[7] - # tagline= re.sub(r',','.',tagline) - else: - tagline = "" - except: - title = "[COLOR red][B]LO SENTIMOS...[/B][/COLOR]" - plot = "Esta pelicula no tiene informacion..." - plot = plot.replace(plot, "[COLOR yellow][B]" + plot + "[/B][/COLOR]") - photo = "http://s6.postimg.org/nm3gk1xox/noinfosup2.png" - foto = "http://s6.postimg.org/ub7pb76c1/noinfo.png" - info = "" - - if "serie" in item.extra.split("|")[3]: - check2 = "serie" - icon = "http://s6.postimg.org/hzcjag975/tvdb.png" - foto = item.show.split("|")[1] - if item.extra.split("|")[5] != "": - critica = item.extra.split("|")[5] - else: - critica = "Esta serie no tiene críticas..." - - photo = item.extra.split("|")[0].replace(" ", "%20") - try: - tagline = "[COLOR aquamarine][B]" + tagline + "[/B][/COLOR]" - except: - tagline = "" - - else: - - critica = item.extra.split("|")[5] - if "%20" in critica: - critica = "No hay críticas" - icon = "http://imgur.com/SenkyxF.png" - photo = item.extra.split("|")[0].replace(" ", "%20") - foto = item.show.split("|")[1] - - try: - if tagline == "\"\"": - tagline = " " - except: - tagline = " " - tagline = "[COLOR aquamarine][B]" + tagline + "[/B][/COLOR]" - check2 = "pelicula" - # Tambien te puede interesar - peliculas = [] - if "serie" in item.extra.split("|")[3]: - - url_tpi = "http://api.themoviedb.org/3/tv/" + item.show.split("|")[ - 5] + "/recommendations?api_key=" + api_key + "&language=es" - data_tpi = httptools.downloadpage(url_tpi).data - tpi = scrapertools.find_multiple_matches(data_tpi, - 'id":(.*?),.*?"original_name":"(.*?)",.*?"poster_path":(.*?),"popularity"') - - else: - url_tpi = "http://api.themoviedb.org/3/movie/" + item.extra.split("|")[ - 1] + "/recommendations?api_key=" + api_key + "&language=es" - data_tpi = httptools.downloadpage(url_tpi).data - tpi = scrapertools.find_multiple_matches(data_tpi, - 'id":(.*?),.*?"original_title":"(.*?)",.*?"poster_path":(.*?),"popularity"') - - for idp, peli, thumb in tpi: - - thumb = re.sub(r'"|}', '', thumb) - if "null" in thumb: - thumb = "http://s6.postimg.org/tw1vhymj5/noposter.png" - else: - thumb = "https://image.tmdb.org/t/p/original" + thumb - peliculas.append([idp, peli, thumb]) - - check2 = check2.replace("pelicula", "movie").replace("serie", "tvshow") - infoLabels = {'title': title, 'plot': plot, 'thumbnail': photo, 'fanart': foto, 'tagline': tagline, - 'rating': rating} - item_info = item.clone(info=infoLabels, icon=icon, extra=id, rating=rating, rating_filma=rating_filma, - critica=critica, contentType=check2, thumb_busqueda="http://imgur.com/HqI3JnO.png") - from channels import infoplus - infoplus.start(item_info, peliculas) - - -def info_capitulos(item): - logger.info() - url = "https://api.themoviedb.org/3/tv/" + item.show.split("|")[5] + "/season/" + item.extra.split("|")[ - 2] + "/episode/" + item.extra.split("|")[3] + "?api_key=" + api_key + "&language=es" - - if "/0" in url: - url = url.replace("/0", "/") - - data = httptools.downloadpage(url).data - data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) - - patron = '],"name":"(.*?)","overview":"(.*?)".*?"still_path":(.*?),"vote_average":(\d+\.\d).*?,"' - matches = re.compile(patron, re.DOTALL).findall(data) - - if len(matches) == 0: - - url = "http://thetvdb.com/api/1D62F2F90030C444/series/" + item.category + "/default/" + item.extra.split("|")[ - 2] + "/" + item.extra.split("|")[3] + "/es.xml" - if "/0" in url: - url = url.replace("/0", "/") - data = httptools.downloadpage(url).data - data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) - - patron = '.*?([^<]+).*?(.*?).*?(.*?)' - - matches = re.compile(patron, re.DOTALL).findall(data) - - if len(matches) == 0: - - title = "[COLOR red][B]LO SENTIMOS...[/B][/COLOR]" - plot = "Este capitulo no tiene informacion..." - plot = "[COLOR yellow][B]" + plot + "[/B][/COLOR]" - image = "http://s6.postimg.org/ub7pb76c1/noinfo.png" - foto = "http://s6.postimg.org/nm3gk1xox/noinfosup2.png" - rating = "" - - - else: - - for name_epi, info, rating in matches: - if "episodes" in data: - foto = scrapertools.get_match(data, '.*?(.*?)') - fanart = "http://thetvdb.com/banners/" + foto - else: - fanart = item.extra.split("|")[1] - plot = info - plot = "[COLOR peachpuff][B]" + plot + "[/B][/COLOR]" - title = name_epi.upper() - title = "[COLOR bisque][B]" + title + "[/B][/COLOR]" - image = fanart - foto = item.extra.split("|")[0] - if not ".png" in foto: - foto = "http://imgur.com/wSIln04.png" - foto = re.sub(r'\(.*?\)|" "|" "', '', foto) - foto = re.sub(r' ', '', foto) - try: - - check_rating = scrapertools.get_match(rating, '(\d+).') - - if int(check_rating) >= 5 and int(check_rating) < 8: - rating = "Puntuación " + "[COLOR springgreen][B]" + rating + "[/B][/COLOR]" - elif int(check_rating) >= 8 and int(check_rating) < 10: - rating = "Puntuación " + "[COLOR yellow][B]" + rating + "[/B][/COLOR]" - elif int(check_rating) == 10: - rating = "Puntuación " + "[COLOR orangered][B]" + rating + "[/B][/COLOR]" - else: - rating = "Puntuación " + "[COLOR crimson][B]" + rating + "[/B][/COLOR]" - - except: - rating = "Puntuación " + "[COLOR crimson][B]" + rating + "[/B][/COLOR]" - if "10." in rating: - rating = re.sub(r'10\.\d+', '10', rating) - else: - for name_epi, info, fanart, rating in matches: - if info == "" or info == "\\": - info = "Sin informacion del capítulo aún..." - plot = info - plot = re.sub(r'/n', '', plot) - plot = "[COLOR peachpuff][B]" + plot + "[/B][/COLOR]" - title = name_epi.upper() - title = "[COLOR bisque][B]" + title + "[/B][/COLOR]" - image = fanart - image = re.sub(r'"|}', '', image) - if "null" in image: - image = "http://imgur.com/ZiEAVOD.png" - else: - image = "https://image.tmdb.org/t/p/original" + image - foto = item.extra.split("|")[0] - if not ".png" in foto: - foto = "http://imgur.com/X5Xy4ip.png" - foto = re.sub(r'\(.*?\)|" "|" "', '', foto) - foto = re.sub(r' ', '', foto) - try: - - check_rating = scrapertools.get_match(rating, '(\d+).') - - if int(check_rating) >= 5 and int(check_rating) < 8: - rating = "Puntuación " + "[COLOR springgreen][B]" + rating + "[/B][/COLOR]" - elif int(check_rating) >= 8 and int(check_rating) < 10: - rating = "Puntuación " + "[COLOR yellow][B]" + rating + "[/B][/COLOR]" - elif int(check_rating) == 10: - rating = "Puntuación " + "[COLOR orangered][B]" + rating + "[/B][/COLOR]" - else: - rating = "Puntuación " + "[COLOR crimson][B]" + rating + "[/B][/COLOR]" - - except: - rating = "Puntuación " + "[COLOR crimson][B]" + rating + "[/B][/COLOR]" - if "10." in rating: - rating = re.sub(r'10\.\d+', '10', rating) - ventana = TextBox2(title=title, plot=plot, thumbnail=image, fanart=foto, rating=rating) - ventana.doModal() - - -class TextBox2(xbmcgui.WindowDialog): - """ Create a skinned textbox window """ - - def __init__(self, *args, **kwargs): - self.getTitle = kwargs.get('title') - self.getPlot = kwargs.get('plot') - self.getThumbnail = kwargs.get('thumbnail') - self.getFanart = kwargs.get('fanart') - self.getRating = kwargs.get('rating') - - self.background = xbmcgui.ControlImage(70, 20, 1150, 630, 'http://imgur.com/btby9SG.jpg') - self.title = xbmcgui.ControlTextBox(120, 60, 430, 50) - self.rating = xbmcgui.ControlTextBox(145, 112, 1030, 45) - self.plot = xbmcgui.ControlTextBox(120, 150, 1056, 100) - self.thumbnail = xbmcgui.ControlImage(120, 300, 1056, 300, self.getThumbnail) - self.fanart = xbmcgui.ControlImage(780, 43, 390, 100, self.getFanart) - - self.addControl(self.background) - self.background.setAnimations( - [('conditional', 'effect=slide start=1000% end=0% time=1500 condition=true tween=bounce',), - ('WindowClose', 'effect=slide delay=800 start=0% end=1000% time=800 condition=true',)]) - self.addControl(self.thumbnail) - self.thumbnail.setAnimations([('conditional', - 'effect=zoom start=0% end=100% delay=2700 time=1500 condition=true tween=elastic easing=inout',), - ('WindowClose', 'effect=slide end=0,700% time=300 condition=true',)]) - self.addControl(self.plot) - self.plot.setAnimations( - [('conditional', 'effect=zoom delay=2000 center=auto start=0 end=100 time=800 condition=true ',), ( - 'conditional', - 'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',), - ('WindowClose', 'effect=zoom center=auto start=100% end=-0% time=600 condition=true',)]) - self.addControl(self.fanart) - self.fanart.setAnimations( - [('WindowOpen', 'effect=slide start=0,-700 delay=1000 time=2500 tween=bounce condition=true',), ( - 'conditional', - 'effect=rotate center=auto start=0% end=360% delay=3000 time=2500 tween=bounce condition=true',), - ('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)]) - self.addControl(self.title) - self.title.setText(self.getTitle) - self.title.setAnimations( - [('conditional', 'effect=slide start=-1500% end=0% delay=1000 time=2000 condition=true tween=elastic',), - ('WindowClose', 'effect=slide start=0% end=-1500% time=800 condition=true',)]) - self.addControl(self.rating) - self.rating.setText(self.getRating) - self.rating.setAnimations( - [('conditional', 'effect=fade start=0% end=100% delay=3000 time=1500 condition=true',), - ('WindowClose', 'effect=slide end=0,-700% time=600 condition=true',)]) - xbmc.sleep(200) - - try: - self.plot.autoScroll(7000, 6000, 30000) - except: - - xbmc.executebuiltin( - 'Notification([COLOR red][B]Actualiza Kodi a su última versión[/B][/COLOR], [COLOR skyblue]para mejor info[/COLOR],8000,"https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/kodi-icon.png")') - self.plot.setText(self.getPlot) - - def get(self): - self.show() - - def onAction(self, action): - if action == ACTION_PREVIOUS_MENU or action.getId() == ACTION_GESTURE_SWIPE_LEFT or action == 110 or action == 92: - self.close() - - -def test(): - return True - - -# Para la busqueda en bing evitando baneos - -def browser(url): - import mechanize - - # Utilizamos Browser mechanize para saltar problemas con la busqueda en bing - br = mechanize.Browser() - # Browser options - br.set_handle_equiv(False) - br.set_handle_gzip(True) - br.set_handle_redirect(True) - br.set_handle_referer(False) - br.set_handle_robots(False) - # Follows refresh 0 but not hangs on refresh > 0 - br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1) - # Want debugging messages? - # br.set_debug_http(True) - # br.set_debug_redirects(True) - # br.set_debug_responses(True) - - # User-Agent (this is cheating, ok?) - br.addheaders = [('User-agent', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.7.12 (KHTML, like Gecko) Version/7.1.7 Safari/537.85.16')] - # br.addheaders =[('Cookie','SRCHD=AF=QBRE; domain=.bing.com; expires=25 de febrero de 2018 13:00:28 GMT+1; MUIDB=3B942052D204686335322894D3086911; domain=www.bing.com;expires=24 de febrero de 2018 13:00:28 GMT+1')] - # Open some site, let's pick a random one, the first that pops in mind - r = br.open(url) - response = r.read() - print response - if "img,divreturn" in response: - r = br.open("http://ssl-proxy.my-addr.org/myaddrproxy.php/" + url) - print "prooooxy" - response = r.read() - - return response - def newest(categoria): logger.info() itemlist = [] @@ -1231,17 +85,13 @@ def newest(categoria): try: if categoria == 'torrent': item.url = 'http://cuelgame.net/?category=4' - itemlist = scraper(item) - if itemlist[-1].action == "Página siguiente >>": itemlist.pop() - # Se captura la excepción, para no interrumpir al canal novedades si un canal falla except: import sys for line in sys.exc_info(): logger.error("{0}".format(line)) return [] - return itemlist