# -*- coding: utf-8 -*- # ------------------------------------------------------------ # Canale per animeworld # ---------------------------------------------------------- import re import urlparse from channelselector import thumb from core import httptools, scrapertoolsV2, servertools, tmdb, support from core.item import Item from platformcode import logger, config from specials import autoplay, autorenumber host = "https://www.animeworld.it" headers = [['Referer', host]] IDIOMAS = {'Italiano': 'Italiano'} list_language = IDIOMAS.values() list_servers = ['diretto'] list_quality = [] checklinks = config.get_setting('checklinks', 'animeworld') checklinks_number = config.get_setting('checklinks_number', '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>.*?