# -*- coding: utf-8 -*- # ------------------------------------------------------------ # Canale per Tantifilm # ------------------------------------------------------------ import re import urlparse from core import scrapertoolsV2, httptools, tmdb, support from core.item import Item from core.support import menu, log, aplay from platformcode import logger from specials import autorenumber from platformcode import config IDIOMAS = {'Italiano': 'IT'} list_language = IDIOMAS.values() list_servers = ['verystream', 'openload', 'streamango', 'vidlox', 'youtube'] list_quality = ['default'] __channel__ = "tantifilm" host = config.get_channel_url(__channel__) headers = [['Referer', host]] def mainlist(item): log() itemlist = [] menu(itemlist, 'Film', 'peliculas', host + '/film/', 'movie', args='movie') menu(itemlist, 'Film Al Cinema submenu', 'peliculas', host + '/watch-genre/al-cinema/', 'movie') menu(itemlist, 'Film HD submenu', 'peliculas', host + '/watch-genre/altadefinizione/', 'movie') menu(itemlist, 'Film Per Categoria submenu', 'category', host, 'movie') menu(itemlist, 'Cerca film... submenu color kod', 'search', contentType='movie', args='findvideos') menu(itemlist, 'Serie TV', 'peliculas', host + '/watch-genre/serie-tv/', contentType='episode') menu(itemlist, 'Serie TV HD submenu', 'peliculas', host + '/watch-genre/serie-altadefinizione/', contentType='episode') menu(itemlist, 'Miniserie submenu', 'peliculas', host + '/watch-genre/miniserie/', contentType='episode', args='serie') menu(itemlist, 'Programmi TV submenu', 'peliculas', host + '/watch-genre/programmi-tv/', contentType='episode') menu(itemlist, 'Anime submenu', 'peliculas', host + '/watch-genre/anime/', contentType='episode', args='anime') menu(itemlist, 'Cerca Serie TV... submenu color kod', 'search', contentType='episode', args='episodios') aplay(item, itemlist, list_servers, list_quality) return itemlist def newest(categoria): log() itemlist = [] item = Item() item.url = host +'/aggiornamenti/' matches = support.match(item, r'mediaWrapAlt recomended_videos"[^>]+>\s*\s*]+>')[0] for url, title, thumb in matches: title = scrapertoolsV2.decodeHtmlentities(title).replace("Permalink to ", "").replace("streaming", "") title = re.sub(r'\s\(\d+\)','',title) itemlist.append( Item(channel=item.channel, action="findvideos", contentType="movie", fulltitle=title, show=title, title=support.typo(title, 'bold'), url=url, thumbnail=thumb, folder=True)) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) return itemlist def search(item, texto): log(texto) item.url = host + "/?s=" + texto try: return search_peliculas(item) # Continua la ricerca in caso di errore except: import sys for line in sys.exc_info(): logger.error("%s" % line) return [] def search_peliculas(item): log() itemlist = [] action = 'findvideos' if item.extra == 'movie' else 'episodios' data = httptools.downloadpage(item.url, headers=headers, ignore_response_code=True).data.replace('\t','').replace('\n','') log(data) patron = r'\s*

([^<]+)<\/p>' matches = re.compile(patron, re.MULTILINE).findall(data) for url, title, year, thumb, quality in matches: infoLabels = {} infoLabels['year'] = year title = scrapertoolsV2.decodeHtmlentities(title) quality = scrapertoolsV2.decodeHtmlentities(quality) longtitle = title + support.typo(quality,'_ [] color kod') itemlist.append( Item(channel=item.channel, action=action, contentType=item.contentType, fulltitle=title, show=title, title=longtitle, url=url, thumbnail=thumb, infoLabels=infoLabels, args=item.args)) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) return itemlist def category(item): blacklist = ['Serie TV Altadefinizione', 'HD AltaDefinizione', 'Al Cinema', 'Serie TV', 'Miniserie', 'Programmi Tv', 'Live', 'Trailers', 'Serie TV Aggiornate', 'Aggiornamenti', 'Featured'] itemlist = support.scrape(item, '

  • ([^<]+)
  • ', ['url', 'title'], headers, blacklist, patron_block='', action='peliculas') return support.thumb(itemlist) def peliculas(item): log() action = 'findvideos' if item.extra == 'movie' else 'episodios' if item.args == 'movie': patron= r'
    [^<]+]+>[^<]+]+>[^<]+<\/a>.*?

    \s*([a-zA-Z-0-9]+)\s*<\/p>' itemlist = support.scrape(item, patron, ['url', 'title', 'year', 'thumb', 'quality'], headers, action=action, patron_block='

    (.*?)main_col', patronNext='
    ]+><\/a><[^>]+>

    ([^<]+) \(([^\)]+)[^<]+<\/p>.*?

    \s*([a-zA-Z-0-9]+)\s*<\/p>' itemlist = support.scrape(item, patron, ['url', 'thumb', 'title', 'year', 'quality'], headers, action=action, patronNext='