# -*- coding: utf-8 -*- # ------------------------------------------------------------ # Canale per animeworld # ---------------------------------------------------------- import re, urlparse from core import httptools, scrapertoolsV2, servertools, tmdb, tvdb from core.item import Item from platformcode import logger, config from channels import autoplay, filtertools, support, autorenumber from channelselector import thumb host = "https://www.animeworld.it" headers = [['Referer', host]] IDIOMAS = {'Italiano': 'Italiano'} list_language = IDIOMAS.values() list_servers = ['diretto'] list_quality = [] __comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'animeworld') __comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'animeworld') def mainlist(item): logger.info("[animeworld.py] mainlist") itemlist =[] support.menu(itemlist, 'Anime ITA submenu bold', 'build_menu', host+'/filter?language[]=1') support.menu(itemlist, 'Anime SUB submenu bold', 'build_menu', host+'/filter?language[]=0') support.menu(itemlist, 'Anime A-Z sub', 'alfabetico', host+'/az-list') support.menu(itemlist, 'Anime - Ultimi Aggiunti', 'alfabetico', host+'/newest') support.menu(itemlist, 'Anime - Ultimi Episodi', 'alfabetico', host+'/newest') support.menu(itemlist, 'Cerca...', 'search') autoplay.init(item.channel, list_servers, list_quality) autoplay.show_option(item.channel, itemlist) return itemlist # Crea Menu Filtro ====================================================== def build_menu(item): itemlist = [] itemlist.append(Item( channel=item.channel, action="video", title="[B]Tutti[/B]", url=item.url)) data = httptools.downloadpage(item.url).data data = re.sub(r'\n|\t','',data) data = re.sub(r'>\s*<','><',data) block = scrapertoolsV2.find_single_match(data, r'
(.*?) (.*?)<\/ul>', re.DOTALL).findall(block) for title, html in matches: itemlist.append( Item(channel=item.channel, action='build_sub_menu', contentType="tvshow", title='[B] > ' + title + '[/B]', fulltitle=title, show=title, url=item.url, html=html, thumbnail=item.thumbnail, fanart=item.fanart)) # Elimina FLingua dal Menu itemlist.pop(6) itemlist.pop(6) itemlist = thumb(itemlist) return itemlist # Crea SottoMenu Filtro ====================================================== def build_sub_menu(item): itemlist = [] matches = re.compile(r'(.*?)<\/label>', re.DOTALL).findall(item.html) for name, value, title in matches: itemlist.append( Item(channel=item.channel, action='video', contentType="tvshow", title='[B]' + title + ' >[/B]', fulltitle=title, show=title, url=item.url + '&' + name + '=' + value, plot="")) itemlist = thumb(itemlist) return itemlist # Novità ====================================================== def newest(categoria): logger.info("[animeworld.py] newest") itemlist = [] item = Item() try: if categoria == "anime": item.url = host + '/newest' item.action = "video" itemlist = video(item) if itemlist[-1].action == "video": 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 # Cerca =========================================================== def search(item, texto): logger.info(texto) item.url = host + '/search?keyword=' + texto try: return video(item) # Continua la ricerca in caso di errore except: import sys for line in sys.exc_info(): logger.error("%s" % line) return [] # Lista A-Z ==================================================== def alfabetico(item): logger.info("[animeworld.py] alfabetico") itemlist = [] data = httptools.downloadpage(item.url).data data = re.sub(r'\n|\t','',data) data = re.sub(r'>\s*<','><',data) block = scrapertoolsV2.find_single_match(data, r'.*?A alla Z.<\/span>.*?