From d48883e7fb34514ecbea44d4189daa8d67f7b4e9 Mon Sep 17 00:00:00 2001 From: Alhaziel01 Date: Thu, 16 Apr 2020 20:21:06 +0200 Subject: [PATCH] Aggiunto Il Corsaro Nero --- channels.json | 1 + channels/ilcorsaronero.json | 12 +++++ channels/ilcorsaronero.py | 88 +++++++++++++++++++++++++++++++++++++ channelselector.py | 2 +- core/support.py | 4 +- 5 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 channels/ilcorsaronero.json create mode 100644 channels/ilcorsaronero.py diff --git a/channels.json b/channels.json index e2d125aa..7b07a28a 100644 --- a/channels.json +++ b/channels.json @@ -26,6 +26,7 @@ "guardaserie_stream": "https://guardaserie.store", "guardaserieclick": "https://www.guardaserie.productions", "hd4me": "https://hd4me.net", + "ilcorsaronero": "https://ilcorsaronero.xyz", "ilgeniodellostreaming": "https://ilgeniodellostreaming.pl", "italiaserie": "https://italiaserie.org", "mondoserietv": "https://mondoserietv.com", diff --git a/channels/ilcorsaronero.json b/channels/ilcorsaronero.json new file mode 100644 index 00000000..eb86a124 --- /dev/null +++ b/channels/ilcorsaronero.json @@ -0,0 +1,12 @@ +{ + "id": "ilcorsaronero", + "name": "ilCorSaRoNeRo", + "active": true, + "adult": false, + "language": ["ita"], + "thumbnail": "ilcorsaronero.png", + "banner": "ilcorsaronero.png", + "categories": ["movie", "tvshow", "music", "torrent"], + "not_active": ["include_in_newest"], + "settings": [] +} diff --git a/channels/ilcorsaronero.py b/channels/ilcorsaronero.py new file mode 100644 index 00000000..3d507dd7 --- /dev/null +++ b/channels/ilcorsaronero.py @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- +# ------------------------------------------------------------ +# Canale per ilcorsaronero +# ------------------------------------------------------------ + +from core import support + +host = support.config.get_channel_url() +# host = 'https://ilcorsaronero.xyz' +headers = [['Referer', host]] + +list_servers = ['torrent'] +list_quality = ['default'] + +@support.menu +def mainlist(item): + + menu = [ + ('Film BDRiP', ['/categoria.php?active=0&category=1&order=data&by=DESC&page=', 'peliculas', 0, 'movie']), + ('Film DVD', ['/categoria.php?active=0&category=20&order=data&by=DESC&page=', 'peliculas', 0, 'movie']), + ('Film Screener', ['/categoria.php?active=0&category=19&order=data&by=DESC&page=', 'peliculas', 0, 'movie']), + ('Serie TV', ['/categoria.php?active=0&category=15&order=data&by=DES&page=', 'peliculas', 0 , 'tvshow']), + ('Anime', ['/categoria.php?active=0&category=5&order=data&by=DESC&page=', 'peliculas', 0, 'anime']), + ('Musica', ['/categoria.php?active=0&category=2&order=data&by=DESC&page=', 'peliculas', 0, 'music']), + ('Audiolibri {musica}', ['/categoria.php?active=0&category=18&order=data&by=DESC&page=', 'peliculas', 0, 'music']), + ('Altro {film}', ['/categoria.php?active=0&category=4&order=data&by=DESC&page=', 'peliculas', 0]), + ('Cerca... submenu', ['/argh.php?search=', 'search', '', 'search']) + ] + + return locals() + +@support.scrape +def peliculas(item): + item.url += str(item.args) + patron = r'>(?P[^"<]+) ]+>(?P[^<]+)<[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>(?P<size>[^<]+)<[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>(?P<seed>[^<]+)' + def itemHook(item): + item.title = item.title.replace('.',' ') + item.thumbnail = support.thumb(thumb=item.contentType + '.png') + return item + def itemlistHook(itemlist): + itemlist.append( + support.Item(channel=item.channel, + action = item.action, + contentType=item.contentType, + title=support.typo(support.config.get_localized_string(30992), 'color kod bold'), + url=item.url, + args=item.args + 1, + thumbnail=support.thumb())) + return itemlist + return locals() + +def search(item, text): + support.log(item, text) + + itemlist = [] + item.url += text + try: + return peliculas(item) + # Cattura la eccezione così non interrompe la ricerca globle se il canale si rompe! + except: + import sys + for line in sys.exc_info(): + support.logger.error("search except: %s" % line) + return [] + +def newest(categoria): + support.log(categoria) + + itemlist = [] + item = Item() + try: + if categoria == "peliculas": + item.url = host + item.action = "peliculas" + itemlist = peliculas(item) + if itemlist[-1].action == "peliculas": + 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 + +def findvideos(item): + return support.server(item, support.match(item.url, patron=r'"(magnet[^"]+)').match) diff --git a/channelselector.py b/channelselector.py index 1b6319b2..e217ce19 100644 --- a/channelselector.py +++ b/channelselector.py @@ -100,7 +100,7 @@ def getchanneltypes(view="thumb_"): logger.info() # Lista de categorias - channel_types = ["movie", "tvshow", "anime", "documentary", "vos", "direct", "live", "music"] # , "torrent" + channel_types = ["movie", "tvshow", "anime", "documentary", "vos", "direct", "live", "torrent", "music"] if config.get_setting("adult_mode") != 0: channel_types.append("adult") diff --git a/core/support.py b/core/support.py index fd7179ac..167051c6 100755 --- a/core/support.py +++ b/core/support.py @@ -179,7 +179,7 @@ def scrapeBlock(item, args, block, patron, headers, action, pagination, debug, t matches = scrapertools.find_multiple_matches_groups(block, patron) log('MATCHES =', matches) - known_keys = ['url', 'title', 'title2', 'season', 'episode', 'thumb', 'quality', 'year', 'plot', 'duration', 'genere', 'rating', 'type', 'lang', 'other'] + known_keys = ['url', 'title', 'title2', 'season', 'episode', 'thumb', 'quality', 'year', 'plot', 'duration', 'genere', 'rating', 'type', 'lang', 'other', 'size', 'seed'] # Legenda known_keys per i groups nei patron # known_keys = ['url', 'title', 'title2', 'season', 'episode', 'thumb', 'quality', # 'year', 'plot', 'duration', 'genere', 'rating', 'type', 'lang'] @@ -246,6 +246,8 @@ def scrapeBlock(item, args, block, patron, headers, action, pagination, debug, t longtitle = title + (s if title and title2 else '') + title2 longtitle = typo(longtitle, 'bold') longtitle += typo(quality, '_ [] color kod') if quality else '' + longtitle += typo(scraped['size'], '_ [] color kod') if scraped['size'] else '' + longtitle += typo(scraped['seed']+ ' SEEDS', '_ [] color kod') if scraped['seed'] else '' lang1, longtitle = scrapeLang(scraped, lang, longtitle)