# -*- coding: utf-8 -*- # ------------------------------------------------------------ # Ringraziamo Icarus crew # Canale per filmgratis # ------------------------------------------------------------ import re, urlparse from platformcode import logger,config from core import scrapertools, httptools, servertools, tmdb from core.item import Item from channels import autoplay from channels import filtertools IDIOMAS = {'Italiano': 'IT'} list_language = IDIOMAS.values() list_servers = ['openload', 'streamango', 'vidoza', 'youtube'] list_quality = ['HD', 'SD'] __comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'filmgratis') __comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'filmgratis') host = "https://www.filmgratis.one" # ---------------------------------------------------------------------------------------------------------------- def mainlist(item): logger.info("kod.filmgratis mainlist") autoplay.init(item.channel, list_servers, list_quality) itemlist = [Item(channel=item.channel, action="peliculas", title=support.color("Home", "orange"), url=host, thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"), Item(channel=item.channel, action="annoattuale", title=support.color("Film di quest'anno", "azure"), url=host, thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"), Item(channel=item.channel, action="categorie", title=support.color("Categorie", "azure"), url=host, thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"), Item(channel=item.channel, action="peranno", title=support.color("Per anno", "azure"), url=host, thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"), Item(channel=item.channel, action="perpaese", title=support.color("Per paese", "azure"), url=host, thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"), Item(channel=item.channel, action="search", title=support.color("Cerca ...", "yellow"), extra="movie", thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png")] autoplay.show_option(item.channel, itemlist) return itemlist # ================================================================================================================ # ---------------------------------------------------------------------------------------------------------------- def search(item, texto): logger.info("filmgratis.py Search ===> " + texto) item.url = "%s/index.php?story=%s&do=search&subaction=search" % (host, texto) try: return peliculas(item) # Continua la ricerca in caso di errore except: import sys for line in sys.exc_info(): logger.error("%s" % line) return [] # ================================================================================================================ # ---------------------------------------------------------------------------------------------------------------- def newest(categoria): logger.info("filmgratis " + categoria) itemlist = [] item = Item() try: if categoria == "film": item.url = host item.action = "peliculas" itemlist = peliculas(item) if itemlist[-1].action == "peliculas": itemlist.pop() # Continua la ricerca in caso di errore except: import sys for line in sys.exc_info(): logger.error("{0}".format(line)) return [] return itemlist # ================================================================================================================ # ---------------------------------------------------------------------------------------------------------------- def annoattuale(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data blocco = scrapertools.get_match(data, r'
') patron = r'Film\s*\d{4}' item.url = urlparse.urljoin(host, scrapertools.find_single_match(blocco, patron)) return peliculas(item) # ================================================================================================================ # ---------------------------------------------------------------------------------------------------------------- def categorie(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data blocco = scrapertools.get_match(data, r'') patron = r'([^<]+)' matches = re.compile(patron, re.DOTALL).findall(blocco) for scrapedurl, scrapedtitle in matches: scrapedtitle = scrapertools.decodeHtmlentities(scrapedtitle) if 'film erotici' in scrapedtitle.lower(): continue itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, text_color="azure", url=urlparse.urljoin(host, scrapedurl), folder=True)) return itemlist # ================================================================================================================ # ---------------------------------------------------------------------------------------------------------------- def peranno(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data blocco = scrapertools.get_match(data, r'(.*?)') patron = r'([^<]+)' matches = re.compile(patron, re.DOTALL).findall(blocco) for scrapedurl, scrapedtitle in matches: scrapedtitle = scrapertools.decodeHtmlentities(scrapedtitle) itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, text_color="azure", url=urlparse.urljoin(host, scrapedurl), folder=True)) return itemlist # ================================================================================================================ # ---------------------------------------------------------------------------------------------------------------- def perpaese(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data blocco = scrapertools.get_match(data, r'(.*?)') patron = r'([^<]+)' matches = re.compile(patron, re.DOTALL).findall(blocco) for scrapedurl, scrapedtitle in matches: scrapedtitle = scrapertools.decodeHtmlentities(scrapedtitle) itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, text_color="azure", url=urlparse.urljoin(host, scrapedurl), folder=True)) return itemlist # ================================================================================================================ # ---------------------------------------------------------------------------------------------------------------- def peliculas(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data patron = r'