# -*- coding: utf-8 -*- # ------------------------------------------------------------ # Canale per cineblog01 # ------------------------------------------------------------ import re import urlparse from channels import autoplay, filtertools, support from core import scrapertoolsV2, httptools, servertools from core.item import Item from lib import unshortenit from platformcode import logger, config #impostati dinamicamente da getUrl() host = "" headers = "" permUrl = httptools.downloadpage('https://www.cb01.uno/', follow_redirects=False).headers host = 'https://www.'+permUrl['location'].replace('https://www.google.it/search?q=site:', '') headers = [['Referer', host]] IDIOMAS = {'Italiano': 'IT'} list_language = IDIOMAS.values() list_servers = ['openload', 'streamango', 'wstream'] list_quality = ['HD', 'default'] __comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'cineblog01') __comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'cineblog01') #esclusione degli articoli 'di servizio' blacklist = ['BENVENUTI', 'Richieste Serie TV', 'CB01.UNO ▶ TROVA L’INDIRIZZO UFFICIALE ', 'Aggiornamento Quotidiano Serie TV', 'OSCAR 2019 ▶ CB01.UNO: Vota il tuo film preferito! 🎬'] def mainlist(item): support.log() autoplay.init(item.channel, list_servers, list_quality) # Main options itemlist = [] support.menu(itemlist, 'Film bold', 'peliculas', host) support.menu(itemlist, 'HD submenu', 'menu', host, args="Film HD Streaming") support.menu(itemlist, 'Per genere submenu', 'menu', host, args="Film per Genere") support.menu(itemlist, 'Per anno submenu', 'menu', host, args="Film per Anno") support.menu(itemlist, 'Cerca... submenu color blue', 'search', host, args='film') support.menu(itemlist, 'Serie TV bold', 'peliculas', host + '/serietv/', contentType='episode') support.menu(itemlist, 'Per Lettera submenu', 'menu', host + '/serietv/', contentType='episode', args="Serie-Tv per Lettera") support.menu(itemlist, 'Per Genere submenu', 'menu', host + '/serietv/', contentType='episode', args="Serie-Tv per Genere") support.menu(itemlist, 'Per anno submenu', 'menu', host + '/serietv/', contentType='episode', args="Serie-Tv per Anno") support.menu(itemlist, 'Cerca... submenu color blue', 'search', host + '/serietv/', contentType='episode', args='serie') autoplay.show_option(item.channel, itemlist) return itemlist def menu(item): itemlist= [] data = httptools.downloadpage(item.url, headers=headers).data data = re.sub('\n|\t', '', data) block = scrapertoolsV2.get_match(data, item.args + r'<\/span>.*?(.*?)<\/ul>') support.log('MENU BLOCK= ',block) patron = r'href="?([^">]+)"?>(.*?)<\/a>' matches = re.compile(patron, re.DOTALL).findall(block) for scrapedurl, scrapedtitle in matches: itemlist.append( Item( channel=item.channel, title=scrapedtitle, contentType=item.contentType, action='peliculas', url=host + scrapedurl ) ) return support.thumb(itemlist) def search(item, text): support.log(item.url, "search" ,text) try: item.url = item.url + "/?s=" + text 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): support.log() itemlist = [] item = Item() item.url = host + '/lista-film-ultimi-100-film-aggiunti/' return support.scrape(item, r']+)>([^<([]+)(?:\[([A-Z]+)\])?\s\(([0-9]{4})\)<\/a>', ['url', 'title', 'quality', 'year'], patron_block=r'Ultimi 100 film aggiunti:.*?<\/td>') def peliculas(item): support.log() if item.contentType == 'movie' or '/serietv/' not in item.url: patron = r'
.*?]+)\/>([^<[(]+)(?:\[([A-Za-z0-9/-]+)])? (?:\(([0-9]{4})\))?.*?([^<>]+)DURATA ([0-9]+).*?
([^<>]+)' listGroups = ['thumb', 'url', 'title', 'quality', 'year', 'genre', 'duration', 'plot'] action = 'findvideos' else: patron = r'div class="card-image">.*?([^<[(]+)<\/a>.*?([^<>0-9(]+)\(([0-9]{4}).*?<\/(p|div)>([^<>]+)' listGroups = ['thumb', 'url', 'title', 'genre', 'year', 'plot'] action = 'episodios' return support.scrape(item, patron_block=[r'
(.*?)