# -*- coding: utf-8 -*- # ------------------------------------------------------------ # Ringraziamo Icarus crew # Canale per seriehd # ------------------------------------------------------------ import base64 import re import urlparse from channels import autoplay, filtertools, support from core import scrapertools, servertools, httptools, tmdb from platformcode import logger, config from core.item import Item from channelselector import thumb host = "https://www.seriehd.video" IDIOMAS = {'Italiano': 'IT'} list_language = IDIOMAS.values() list_servers = ['openload', 'streamango', 'thevideome'] list_quality = ['1080p', '720p', '480p', '360'] __comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'seriehd') __comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'seriehd') headers = [['Referer', host]] def mainlist(item): logger.info("seriehd.py mainlist") autoplay.init(item.channel, list_servers, list_quality) itemlist = [Item(channel=item.channel, action="fichas", title="[B]Serie TV[/B]", url=host + "/serie-tv-streaming/"), Item(channel=item.channel, action="sottomenu", title=" > Serie TV per Genere", url=host), Item(channel=item.channel, action="nation", title=" > Serie TV per Nazione", url=host), Item(channel=item.channel, action="search", extra="tvshow", title="[COLOR blue]Cerca...[/COLOR]", thumbnail="")] autoplay.show_option(item.channel, itemlist) # auto thumb itemlist=thumb(itemlist) return itemlist def search(item, texto): logger.info("[seriehd.py] search") item.url = host + "/?s=" + texto try: return fichas(item) # Continua la ricerca in caso di errore . except: import sys for line in sys.exc_info(): logger.error("%s" % line) return [] def sottomenu(item): logger.info("[seriehd.py] sottomenu") itemlist = [] data = httptools.downloadpage(item.url).data patron = '([^<]+)' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedtitle in matches: itemlist.append( Item(channel=item.channel, action="fichas", title=scrapedtitle, url=scrapedurl)) # Elimina 'voci dal menu' de la lista de 'sottomenu' itemlist.pop(0) itemlist.pop(0) itemlist.pop(0) itemlist.pop(28) return itemlist def nation(item): itemlist = [Item(channel=item.channel, action="fichas", title="Serie TV Americane", url=host+'/serie-tv-streaming/serie-tv-americane/'), Item(channel=item.channel, action="fichas", title="Serie TV Italiane", url=host+'/serie-tv-streaming/serie-tv-italiane/')] # auto thumb itemlist=thumb(itemlist) return itemlist def fichas(item): logger.info("[seriehd.py] fichas") itemlist = [] data = httptools.downloadpage(item.url).data patron = r'

(.*?)

\s*' patron += r'[^\s*' patron += '' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedtitle, scrapedthumbnail, scrapedurl in matches: scrapedthumbnail = httptools.get_url_headers(scrapedthumbnail) scrapedtitle = scrapertools.decodeHtmlentities(scrapedtitle).strip() itemlist.append( Item(channel=item.channel, action="episodios", title="[COLOR azure]" + scrapedtitle + "[/COLOR]", fulltitle=scrapedtitle, url=scrapedurl, show=scrapedtitle, thumbnail=scrapedthumbnail)) patron = r"\d+\d+" next_page = scrapertools.find_single_match(data, patron) if next_page != "": itemlist.append( Item(channel=item.channel, action="fichas", title="[COLOR blue]" + config.get_localized_string(30992) + "[/COLOR]", url=next_page, thumbnali=thumb())) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) return itemlist def episodios(item): logger.info("[seriehd.py] episodios") itemlist = [] data = httptools.downloadpage(item.url).data patron = r'