# -*- coding: utf-8 -*- # -*- Channel SleazeMovies -*- # -*- Created for Alfa-addon -*- # -*- By Sculkurt -*- import re import urllib import urlparse from channelselector import get_thumb 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 host = 'http://www.cat3plus.com/' headers = [ ['User-Agent', 'Mozilla/5.0 (Windows NT 6.1; rv:38.0) Gecko/20100101 Firefox/38.0'], ['Accept-Encoding', 'gzip, deflate'], ['Referer', host] ] def mainlist(item): logger.info() itemlist = list() itemlist.append(item.clone(title="Todas", action="list_all", url=host, thumbnail=get_thumb('all', auto=True))) itemlist.append(item.clone(title="Años", action="years", url=host, thumbnail=get_thumb('year', auto=True))) itemlist.append(item.clone(title="Buscar", action="search", thumbnail=get_thumb('search', auto=True))) return itemlist def years(item): logger.info() itemlist = list() data = httptools.downloadpage(item.url, cookies=False).data data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) patron = "([^<]+)" matches = scrapertools.find_multiple_matches(data, patron) for scrapedurl, scrapedtitle in matches: itemlist.append(item.clone(action='list_all', title=scrapedtitle, url=scrapedurl)) 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) patron = "

([^(]+).*?\(([^)]+).*?" patron += 'src="([^"]+).*?' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedtitle, year, img in matches: itemlist.append(Item(channel = item.channel, title = scrapedtitle, url = scrapedurl, action = "findvideos", thumbnail = img, contentTitle = scrapedtitle, contentType = "movie", infoLabels = {'year': year})) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb = True) # Extraer la marca de siguiente página next_page = scrapertools.find_single_match(data, " 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, thumbnail = item.thumbnail )) return itemlist