# -*- coding: utf-8 -*- import re from core import httptools from core import scrapertools from core import servertools from core.item import Item from platformcode import config, logger def mainlist(item): logger.info() itemlist = [] itemlist.append(Item(channel=item.channel, action="submenu", title="Películas", url="http://www.newpct1.com/", extra="peliculas")) itemlist.append( Item(channel=item.channel, action="submenu", title="Series", url="http://www.newpct1.com/", extra="series")) # itemlist.append(Item(channel=item.channel, action="search", title="Buscar")) return itemlist def search(item, texto): logger.info("search:" + texto) texto = texto.replace(" ", "+") item.url = "http://www.newpct1.com/index.php?page=buscar&q=%27" + texto + "%27&ordenar=Fecha&inon=Descendente" item.extra = "buscar-list" try: itemlist = completo(item) # Esta pagina coloca a veces contenido duplicado, intentamos descartarlo dict_aux = {} for i in itemlist: if not i.url in dict_aux: dict_aux[i.url] = i else: itemlist.remove(i) return itemlist # Se captura la excepción, para no interrumpir al buscador global si un canal falla except: import sys for line in sys.exc_info(): logger.error("%s" % line) return [] def submenu(item): logger.info() itemlist = [] data = re.sub(r"\n|\r|\t|\s{2}|()", "", httptools.downloadpage(item.url).data) data = unicode(data, "iso-8859-1", errors="replace").encode("utf-8") patron = '
  • .*?' data = scrapertools.get_match(data, patron) patron = '([^>]+)' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedtitle in matches: title = scrapedtitle.strip() url = scrapedurl itemlist.append(Item(channel=item.channel, action="listado", title=title, url=url, extra="pelilist")) itemlist.append( Item(channel=item.channel, action="alfabeto", title=title + " [A-Z]", url=url, extra="pelilist")) return itemlist def alfabeto(item): logger.info() itemlist = [] data = re.sub(r"\n|\r|\t|\s{2}|()", "", httptools.downloadpage(item.url).data) data = unicode(data, "iso-8859-1", errors="replace").encode("utf-8") patron = '' data = scrapertools.get_match(data, patron) patron = ']+>([^>]+)' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedtitle in matches: title = scrapedtitle.upper() url = scrapedurl itemlist.append(Item(channel=item.channel, action="completo", title=title, url=url, extra=item.extra)) return itemlist def listado(item): logger.info() # logger.info("[newpct1.py] listado url=" + item.url) itemlist = [] data = re.sub(r"\n|\r|\t|\s{2}|()", "", httptools.downloadpage(item.url).data) data = unicode(data, "iso-8859-1", errors="replace").encode("utf-8") patron = '' logger.debug("patron=" + patron) fichas = scrapertools.get_match(data, patron) #
  • Descargar XMen Dias Del Futuro gratis

    XMen Dias Del Futuro

    BluRayRip AC3 5.1
  • patron = '
  • 0: item.fanart = fanart[0]''' try: from core.tmdb import Tmdb oTmdb = Tmdb(texto_buscado=item.show, tipo="tv", idioma_busqueda="es") item.fanart = oTmdb.get_backdrop() item.plot = oTmdb.get_sinopsis() print item.plot except: pass else: item_title = item.show items_programas = get_episodios(item) else: ultimo_action = "listado" items_programas = listado(item) if len(items_programas) == 0: return itemlist # devolver lista vacia salir = False while not salir: # Saca la URL de la siguiente página ultimo_item = items_programas[len(items_programas) - 1] # Páginas intermedias if ultimo_item.action == ultimo_action: # Quita el elemento de "Página siguiente" ultimo_item = items_programas.pop() # Añade las entradas de la página a la lista completa itemlist.extend(items_programas) # Carga la siguiente página ultimo_item.extra = item_extra ultimo_item.show = item_show ultimo_item.title = item_title logger.debug("url=" + ultimo_item.url) if item_extra.startswith("serie"): items_programas = get_episodios(ultimo_item) else: items_programas = listado(ultimo_item) # Última página else: # Añade a la lista completa y sale itemlist.extend(items_programas) salir = True if (config.get_videolibrary_support() and len(itemlist) > 0 and item.extra.startswith("serie")): itemlist.append(Item(channel=item.channel, title="Añadir esta serie a la biblioteca", url=item.url, action="add_serie_to_library", extra="completo###serie_add", show=item.show)) logger.debug("items=" + str(len(itemlist))) return itemlist def get_episodios(item): logger.info("url=" + item.url) itemlist = [] data = re.sub(r'\n|\r|\t|\s{2}||', "", httptools.downloadpage(item.url).data) data = unicode(data, "iso-8859-1", errors="replace").encode("utf-8") logger.debug("data=" + data) patron = '' # logger.info("[newpct1.py] patron=" + patron) fichas = scrapertools.get_match(data, patron) # logger.info("[newpct1.py] matches=" + str(len(fichas))) #
  • Serie Forever 1x01

    Serie Forever - Temporada 1 - Temporada[ 1 ]Capitulo[ 01 ]Espa�ol Castellano Calidad [ HDTV ]

    27-10-2014 450 MB Descargar
  • # logger.info("[newpct1.py] get_episodios: " + fichas) patron = ']*>' in scrapedinfo: # logger.info("[newpct1.py] get_episodios: scrapedinfo="+scrapedinfo) try: #

    Serie The Big Bang Theory - Temporada 6 - Temporada[ 6 ]Capitulo[ 03 ]Español Castellano Calidad [ HDTV ]

    patron = '\[\s*(.*?)\].*?' # temporada patron += '\[\s*(.*?)\].*?' # capitulo patron += ';([^/]+)' # idioma info_extra = re.compile(patron, re.DOTALL).findall(scrapedinfo) (temporada, capitulo, idioma) = info_extra[0] except: #

    Serie The Affair Temporada 3 Capitulo 5 - Español Castellano Calidad [ HDTV ]

    patron = '([^<]+).*?' # temporada y capitulo patron += '([^<]+)' info_extra = re.compile(patron, re.DOTALL).findall(scrapedinfo) (temporada_capitulo, idioma) = info_extra[0] if re.search(r'(?i)Capitulos', temporada_capitulo): temporada = scrapertools.find_single_match(temporada_capitulo, 'Temp.*?\s*([\d]+)') cap1, cap2 = scrapertools.find_single_match(temporada_capitulo, 'Cap.*?\s*(\d+).*?(\d+)') capitulo = "" else: temporada, capitulo = scrapertools.get_season_and_episode(temporada_capitulo).split('x') # logger.info("[newpct1.py] get_episodios: temporada=" + temporada) # logger.info("[newpct1.py] get_episodios: capitulo=" + capitulo) logger.debug("idioma=" + idioma) if '">' in idioma: idioma = " [" + scrapertools.find_single_match(idioma, '">([^<]+)').strip() + "]" elif ' ' in idioma: idioma = " [" + scrapertools.find_single_match(idioma, ' ([^<]+)').strip() + "]" '''else: idioma=""''' if capitulo: title = item.title + " (" + temporada.strip() + "x" + capitulo.strip() + ") " + idioma else: title = item.title + " (Del %sx%s al %sx%s) %s" % (temporada, cap1, temporada, cap2, idioma) else: #

    The Big Bang Theory - Temporada 6 [HDTV][Cap.602][Español Castellano]

    #

    The Beast - Temporada 1 [HDTV] [Capítulo 13] [Español]

    The Beast - Temp.1 [DVD-DVB][Cap.103][Spanish] try: temp, cap = scrapertools.get_season_and_episode(scrapedinfo).split('x') except: # Formatear temporadaXepisodio patron = re.compile('Cap.*?\s*([\d]+)', re.IGNORECASE) info_extra = patron.search(scrapedinfo) if len(str(info_extra.group(1))) >= 3: cap = info_extra.group(1)[-2:] temp = info_extra.group(1)[:-2] else: cap = info_extra.group(1) patron = 'Temp.*?\s*([\d]+)' temp = re.compile(patron, re.IGNORECASE).search(scrapedinfo).group(1) title = item.title + " (" + temp + 'x' + cap + ")" # logger.info("[newpct1.py] get_episodios: fanart= " +item.fanart) itemlist.append( Item(channel=item.channel, action="findvideos", title=title, url=url, thumbnail=item.thumbnail, show=item.show, fanart=item.fanart)) except: logger.error("ERROR al añadir un episodio") if "pagination" in data: patron = '
      (.*?)
    ' paginacion = scrapertools.get_match(data, patron) # logger.info("[newpct1.py] get_episodios: paginacion= " + paginacion) if "Next" in paginacion: url_next_page = scrapertools.get_match(paginacion, '
    ", " ") patron = '' logger.debug("data=" + data) logger.debug("patron=" + patron) matches = re.compile(patron, re.DOTALL | re.IGNORECASE).findall(data) if len(matches) == 0: matches = [('', '')] logger.debug("resultado=" + matches[0][0]) return matches[0][0] def findvideos(item): logger.info() itemlist = [] ## Cualquiera de las tres opciones son válidas # item.url = item.url.replace("1.com/","1.com/ver-online/") # item.url = item.url.replace("1.com/","1.com/descarga-directa/") item.url = item.url.replace("1.com/", "1.com/descarga-torrent/") # Descarga la página data = re.sub(r"\n|\r|\t|\s{2}|()", "", httptools.downloadpage(item.url).data) data = unicode(data, "iso-8859-1", errors="replace").encode("utf-8") title = scrapertools.find_single_match(data, "

    ([^<]+)[^<]+

    ") title += scrapertools.find_single_match(data, "

    [^<]+([^<]+)

    ") caratula = scrapertools.find_single_match(data, '
    .*?src="([^"]+)"') # Descarga tu Archivo torrent! patron = '' # escraped torrent url = scrapertools.find_single_match(data, patron) if url != "": itemlist.append( Item(channel=item.channel, action="play", server="torrent", title=title + " [torrent]", fulltitle=title, url=url, thumbnail=caratula, plot=item.plot, folder=False)) logger.debug("matar %s" % data) # escraped ver vídeos, descargar vídeos un link, múltiples liks data = data.replace("'", '"') data = data.replace( 'javascript:;" onClick="popup("http://www.newpct1.com/pct1/library/include/ajax/get_modallinks.php?links=', "") data = data.replace("http://tumejorserie.com/descargar/url_encript.php?link=", "") data = data.replace("$!", "#!") patron_descargar = '
    ]+>.*?' patron_ver = '
    ]+>.*?' match_ver = scrapertools.find_single_match(data, patron_ver) match_descargar = scrapertools.find_single_match(data, patron_descargar) patron = '