From a89b5c5961502b55fd64a1d374a2d288d6062562 Mon Sep 17 00:00:00 2001 From: 4l3x87 Date: Wed, 29 May 2019 02:30:59 +0200 Subject: [PATCH] Refactor channel AnimeWorld + fixes --- channels/animeworld.json | 13 +- channels/animeworld.py | 209 +++++++++++++----- channelselector.py | 6 +- .../media/channels/banner/animeworld.png | Bin 0 -> 15365 bytes .../channels/banner/guardaserieclick.png | Bin 30059 -> 21263 bytes resources/media/channels/thumb/animeworld.png | Bin 0 -> 7030 bytes .../media/channels/thumb/guardaserieclick.png | Bin 13552 -> 9928 bytes 7 files changed, 174 insertions(+), 54 deletions(-) create mode 100644 resources/media/channels/banner/animeworld.png create mode 100644 resources/media/channels/thumb/animeworld.png diff --git a/channels/animeworld.json b/channels/animeworld.json index dfcee138..9ebf73f3 100644 --- a/channels/animeworld.json +++ b/channels/animeworld.json @@ -4,9 +4,18 @@ "active": true, "adult": false, "language": ["ita"], - "thumbnail": "https://cdn.animeworld.it/static/images/general/logoaw.png", - "categories": ["anime"], + "thumbnail": "animeworld.png", + "banner": "animeworld.png", + "categories": ["anime"], "settings": [ + { + "id": "channel_host", + "type": "text", + "label": "Host del canale", + "default": "https://www.animeworld.it", + "enabled": true, + "visible": true + }, { "id": "include_in_global_search", "type": "bool", diff --git a/channels/animeworld.py b/channels/animeworld.py index 4a1586be..ee8d71cf 100644 --- a/channels/animeworld.py +++ b/channels/animeworld.py @@ -3,16 +3,20 @@ # Canale per animeworld # ---------------------------------------------------------- import re +import time +import urllib + import urlparse +import channelselector from channelselector import thumb -from core import httptools, scrapertoolsV2, servertools, tmdb, support +from core import httptools, scrapertoolsV2, servertools, tmdb, support, jsontools from core.item import Item from platformcode import logger, config from specials import autoplay, autorenumber -host = "https://www.animeworld.it" - +__channel__ = 'animeworld' +host = config.get_setting("channel_host", __channel__) headers = [['Referer', host]] IDIOMAS = {'Italiano': 'Italiano'} @@ -25,21 +29,51 @@ checklinks_number = config.get_setting('checklinks_number', 'animeworld') def mainlist(item): - logger.info("[animeworld.py] mainlist") + logger.info(__channel__+" 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, 'Anime bold', 'lista_anime', host+'/az-list') + support.menu(itemlist, 'ITA submenu', 'build_menu', host+'/filter?language[]=1', args=["anime"]) + support.menu(itemlist, 'Sub-ITA submenu', 'build_menu', host+'/filter?language[]=0', args=["anime"]) + support.menu(itemlist, 'Archivio A-Z submenu', 'alfabetico', host+'/az-list', args=["tvshow","a-z"]) + support.menu(itemlist, 'In corso submenu', 'video', host+'/', args=["in sala"]) + support.menu(itemlist, 'Generi submenu', 'generi', host+'/') + support.menu(itemlist, 'Ultimi Aggiunti bold', 'video', host+'/newest', args=["anime"]) + support.menu(itemlist, 'Ultimi Episodi bold', 'video', host+'/updated', args=["novita'"]) support.menu(itemlist, 'Cerca...', 'search') autoplay.init(item.channel, list_servers, list_quality) autoplay.show_option(item.channel, itemlist) + itemlist.append( + Item(channel='setting', + action="channel_config", + title=support.typo("Configurazione Canale color lime"), + config=item.channel, + folder=False, + thumbnail=channelselector.get_thumb('setting_0.png')) + ) + + return itemlist + +# Crea menu dei generi ================================================= + +def generi(item): + support.log(item.channel+" generi") + itemlist = [] + patron_block = r'\sGeneri\s*' + patron = r'' + matches = support.match(item,patron, patron_block, headers)[0] + + for scrapedurl, scrapedtitle in matches: + itemlist.append(Item( + channel=item.channel, + action="video", + title=scrapedtitle, + url="%s%s" % (host,scrapedurl))) + return itemlist @@ -103,7 +137,7 @@ def build_sub_menu(item): # Novità ====================================================== def newest(categoria): - logger.info("[animeworld.py] newest") + logger.info(__channel__+" newest") itemlist = [] item = Item() try: @@ -144,7 +178,7 @@ def search(item, texto): # Lista A-Z ==================================================== def alfabetico(item): - logger.info("[animeworld.py] alfabetico") + logger.info(__channel__+" alfabetico") itemlist = [] data = httptools.downloadpage(item.url).data @@ -170,7 +204,7 @@ def alfabetico(item): return itemlist def lista_anime(item): - logger.info("[animeworld.py] lista_anime") + logger.info(__channel__+" lista_anime") itemlist = [] @@ -202,7 +236,7 @@ def lista_anime(item): itemlist.append( Item(channel=item.channel, extra=item.extra, - contentType="tvshow", + contentType="episode", action="episodios", text_color="azure", title=title, @@ -217,23 +251,24 @@ def lista_anime(item): autorenumber.renumber(itemlist) # Next page - next_page = scrapertoolsV2.find_single_match(data, '