# -*- coding: utf-8 -*- # ------------------------------------------------------------ # Canale per animeworld # ---------------------------------------------------------- import re, urlparse from core import httptools, scrapertoolsV2, servertools, tmdb from core.item import Item from platformcode import logger, config from channels import autoplay, filtertools, support 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, '[B] > Anime ITA[/B]', 'build_menu', host+'/filter?language[]=1') support.menu(itemlist, '[B] > Anime SUB[/B]', 'build_menu', host+'/filter?language[]=0') support.menu(itemlist, ' > Anime A-Z', '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, '[COLOR blue]Cerca...[/COLOR]', '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, thumbnail=CategoriaThumbnail, fanart=CategoriaFanart)) data = httptools.downloadpage(item.url).data data = re.sub(r'\n|\t','',data) data = re.sub(r'>\s*<','><',data) block = scrapertoolsV2.get_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)) # 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.get_match(data, r'.*?A alla Z.<\/span>.*?