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'[^<]+[^"]+".*?serie="([^"]+)".*?stag="([0-9]*)".*?ep="([0-9]*)"\s*'
+ patron += r'.*?embed="([^"]+)"\s*.*?embed2="([^"]+)?"\s*.*?embed3="([^"]+)?"?[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>\s*'
+ patron += r'(?:]+>|
]+>)?'
+ # matches = re.compile(patron, re.DOTALL).findall(data)
- if config.get_videolibrary_support() and len(itemlist) != 0:
+ # logger.debug(matches)
+
+ matches = support.match(item, patron, headers=headers)[0]
+
+
+ for scrapedtitle, scrapedepisodetitle, scrapedplot, scrapedserie, scrapedseason, scrapedepisode, scrapedurl, scrapedurl2,scrapedurl3,scrapedthumbnail,scrapedthumbnail2 in matches:
+ scrapedtitle = cleantitle(scrapedtitle)
+ scrapedepisode = scrapedepisode.zfill(2)
+ scrapedepisodetitle = cleantitle(scrapedepisodetitle)
+ title = str("%sx%s %s" % (scrapedseason, scrapedepisode, scrapedepisodetitle)).strip()
+ if 'SUB-ITA' in scrapedtitle:
+ title +=" Sub-ITA"
+
+ infoLabels = {}
+ infoLabels['season'] = scrapedseason
+ infoLabels['episode'] = scrapedepisode
itemlist.append(
- Item(channel=item.channel,
- title="[COLOR lightblue]%s[/COLOR]" % config.get_localized_string(30161),
- url=item.url,
- action="add_serie_to_library",
- extra="episodi",
- show=item.show))
+ Item(channel=item.channel,
+ action="findvideos",
+ title=title,
+ fulltitle=scrapedtitle,
+ url=scrapedurl+"\r\n"+scrapedurl2+"\r\n"+scrapedurl3,
+ contentType="episode",
+ plot=scrapedplot,
+ contentSerieName=scrapedserie,
+ contentLanguage='Sub-ITA' if 'Sub-ITA' in title else '',
+ infoLabels=infoLabels,
+ thumbnail=scrapedthumbnail2 if scrapedthumbnail2 != '' else scrapedthumbnail,
+ folder=True))
+
+ tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
+
+ support.videolibrary(itemlist, item)
return itemlist
@@ -256,20 +315,12 @@ def episodi(item):
# ----------------------------------------------------------------------------------------------------------------
def findepvideos(item):
- logger.info("[GuardaSerieClick.py]==> findepvideos")
-
+ support.log(item.channel+" findepvideos")
data = httptools.downloadpage(item.url, headers=headers).data
- data = scrapertools.find_single_match(data, item.extra)
- itemlist = servertools.find_video_items(data=data)
-
- for videoitem in itemlist:
- server = re.sub(r'[-\[\]\s]+', '', videoitem.title).capitalize()
- videoitem.title = "".join(["[%s] " % support.color(server.capitalize(), 'orange'), item.title])
- videoitem.fulltitle = item.fulltitle
- videoitem.thumbnail = item.thumbnail
- videoitem.show = item.show
- videoitem.plot = item.plot
- videoitem.channel = item.channel
+ matches = scrapertools.find_multiple_matches(data, item.extra)
+ data = "\r\n".join(matches[0])
+ item.contentType = 'movie'
+ itemlist = support.server(item, data=data)
return itemlist
@@ -278,17 +329,8 @@ def findepvideos(item):
# ----------------------------------------------------------------------------------------------------------------
def findvideos(item):
- logger.info("[GuardaSerieClick.py]==> findvideos")
-
- itemlist = servertools.find_video_items(data=item.url)
-
- for videoitem in itemlist:
- server = re.sub(r'[-\[\]\s]+', '', videoitem.title).capitalize()
- videoitem.title = "".join(["[%s] " % support.color(server.capitalize(), 'orange'), item.title])
- videoitem.fulltitle = item.fulltitle
- videoitem.thumbnail = item.thumbnail
- videoitem.show = item.show
- videoitem.plot = item.plot
- videoitem.channel = item.channel
+ support.log(item.channel+" findvideos")
+ logger.debug(item.url)
+ itemlist = support.server(item, data=item.url)
return itemlist
diff --git a/channelselector.py b/channelselector.py
index 66c09c56..7c0c7e44 100644
--- a/channelselector.py
+++ b/channelselector.py
@@ -383,7 +383,11 @@ def thumb(itemlist=[]):
item.thumbnail = get_thumb(thumb + '.png')
else:
thumb = item.thumbnails
- # REmove args from title
+
+ if item.thumbnail != '':
+ break
+
+ # Remove args from title
if item.args: item.title = item.title.replace(' || ' + str(item.args), '')
return itemlist
else:
diff --git a/resources/media/channels/banner/animeworld.png b/resources/media/channels/banner/animeworld.png
new file mode 100644
index 00000000..7f727b4f
Binary files /dev/null and b/resources/media/channels/banner/animeworld.png differ
diff --git a/resources/media/channels/banner/guardaserieclick.png b/resources/media/channels/banner/guardaserieclick.png
new file mode 100644
index 00000000..027c3c32
Binary files /dev/null and b/resources/media/channels/banner/guardaserieclick.png differ
diff --git a/resources/media/channels/thumb/animeworld.png b/resources/media/channels/thumb/animeworld.png
new file mode 100644
index 00000000..d0b57098
Binary files /dev/null and b/resources/media/channels/thumb/animeworld.png differ
diff --git a/resources/media/channels/thumb/guardaserieclick.png b/resources/media/channels/thumb/guardaserieclick.png
new file mode 100644
index 00000000..58ae6dca
Binary files /dev/null and b/resources/media/channels/thumb/guardaserieclick.png differ