latest version
This commit is contained in:
0
CONTRIBUTING.md
Normal file → Executable file
0
CONTRIBUTING.md
Normal file → Executable file
0
__init__.py
Normal file → Executable file
0
__init__.py
Normal file → Executable file
5
addon.xml
Normal file → Executable file
5
addon.xml
Normal file → Executable file
@@ -1,11 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<addon id="plugin.video.kod" name="Kodi on Demand BETA" version="1.7.7" provider-name="KoD Team">
|
||||
<addon id="plugin.video.kod" name="Kodi on Demand" version="1.7.7" provider-name="KoD Team">
|
||||
<requires>
|
||||
<!-- <import addon="script.module.libtorrent" optional="true"/> -->
|
||||
<import addon="metadata.themoviedb.org" optional="true"/>
|
||||
<import addon="metadata.tvshows.themoviedb.org" optional="true"/>
|
||||
<!-- <import addon="metadata.tvdb.com"/> -->
|
||||
<import addon="script.module.web-pdb" />
|
||||
|
||||
</requires>
|
||||
<extension point="xbmc.python.pluginsource" library="default.py">
|
||||
<provides>video</provides>
|
||||
|
||||
17
channels.json
Normal file → Executable file
17
channels.json
Normal file → Executable file
@@ -1,28 +1,27 @@
|
||||
{
|
||||
"direct": {
|
||||
"altadefinizione01": "https://altadefinizione01.pet",
|
||||
"animealtadefinizione": "https://www.animealtadefinizione.it",
|
||||
"animealtadefinizione": "http://ww38.animealtadefinizione.it",
|
||||
"animeforce": "https://www.animeforce.it",
|
||||
"animesaturn": "https://www.animesaturn.cx",
|
||||
"animeunity": "https://www.animeunity.tv",
|
||||
"animeworld": "https://www.animeworld.so",
|
||||
"aniplay": "https://aniplay.co",
|
||||
"casacinema": "https://casacinema.media",
|
||||
"cb01anime": "https://cineblog01.red",
|
||||
"cb01anime": "https://cb01new.one",
|
||||
"cinemalibero": "https://cinemalibero.cafe",
|
||||
"cinetecadibologna": "http://cinestore.cinetecadibologna.it",
|
||||
"dinostreaming": "https://dinostreaming.it",
|
||||
"discoveryplus": "https://www.discoveryplus.com",
|
||||
"dreamsub": "https://www.animeworld.so",
|
||||
"eurostreaming": "https://eurostreaming.diy",
|
||||
"eurostreaming_actor": "https://eurostreaming.futbol",
|
||||
"eurostreaming": "https://eurostreaming.lifestyle",
|
||||
"eurostreaming_actor": "https://eurostreaming.my",
|
||||
"filmstreaming": "https://film-streaming-ita.cam",
|
||||
"guardaseriecam": "https://guardaserie.kitchen",
|
||||
"hd4me": "https://hd4me.net",
|
||||
"ilcorsaronero": "https://ilcorsaronero.link",
|
||||
"ilgeniodellostreaming_cam": "https://ilgeniodellostreaming.foo",
|
||||
"italiafilm": "https://italia-film.biz",
|
||||
"lordchannel": "https://lordchannel.com",
|
||||
"mediasetplay": "https://mediasetinfinity.mediaset.it",
|
||||
"mondoserietv": "http://ww25.mondoserietv.club/?subid1=20230304-0434-261c-9cb0-a0044930e0a9",
|
||||
"paramount": "https://www.mtv.it",
|
||||
@@ -30,9 +29,9 @@
|
||||
"plutotv": "https://pluto.tv",
|
||||
"raiplay": "https://www.raiplay.it",
|
||||
"serietvu": "http://ww1.serietvu.live/?sub1=47fb879a-5325-11ee-94a7-cc35006f53d1",
|
||||
"streamingcommunity": "https://streamingcommunity.buzz",
|
||||
"streamingita": "https://streamingita.digital",
|
||||
"tantifilm": "https://tantifilm.hair",
|
||||
"streamingcommunity": "https://streamingcommunity.prof",
|
||||
"streamingita": "https://streamingita.click",
|
||||
"tantifilm": "https://tantifilm.name",
|
||||
"toonitalia": "https://toonitalia.xyz"
|
||||
},
|
||||
"findhost": {
|
||||
@@ -42,4 +41,4 @@
|
||||
"cineblog01": "https://cb01.uno",
|
||||
"filmpertutti": "https://filmpertuttiii.nuovo.live"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
0
channels/0example.json.txt
Normal file → Executable file
0
channels/0example.json.txt
Normal file → Executable file
0
channels/0example.py.txt
Normal file → Executable file
0
channels/0example.py.txt
Normal file → Executable file
0
channels/1337x.json
Normal file → Executable file
0
channels/1337x.json
Normal file → Executable file
0
channels/1337x.py
Normal file → Executable file
0
channels/1337x.py
Normal file → Executable file
0
channels/__init__.py
Normal file → Executable file
0
channels/__init__.py
Normal file → Executable file
0
channels/accuradio.json
Normal file → Executable file
0
channels/accuradio.json
Normal file → Executable file
0
channels/accuradio.py
Normal file → Executable file
0
channels/accuradio.py
Normal file → Executable file
0
channels/altadefinizione.json
Normal file → Executable file
0
channels/altadefinizione.json
Normal file → Executable file
0
channels/altadefinizione.py
Normal file → Executable file
0
channels/altadefinizione.py
Normal file → Executable file
0
channels/altadefinizione01.json
Normal file → Executable file
0
channels/altadefinizione01.json
Normal file → Executable file
0
channels/altadefinizione01.py
Normal file → Executable file
0
channels/altadefinizione01.py
Normal file → Executable file
0
channels/altadefinizioneclick.json
Normal file → Executable file
0
channels/altadefinizioneclick.json
Normal file → Executable file
0
channels/altadefinizioneclick.py
Normal file → Executable file
0
channels/altadefinizioneclick.py
Normal file → Executable file
0
channels/altadefinizionecommunity.json
Normal file → Executable file
0
channels/altadefinizionecommunity.json
Normal file → Executable file
0
channels/altadefinizionecommunity.py
Normal file → Executable file
0
channels/altadefinizionecommunity.py
Normal file → Executable file
0
channels/animealtadefinizione.json
Normal file → Executable file
0
channels/animealtadefinizione.json
Normal file → Executable file
0
channels/animealtadefinizione.py
Normal file → Executable file
0
channels/animealtadefinizione.py
Normal file → Executable file
0
channels/animeforce.json
Normal file → Executable file
0
channels/animeforce.json
Normal file → Executable file
0
channels/animeforce.py
Normal file → Executable file
0
channels/animeforce.py
Normal file → Executable file
0
channels/animesaturn.json
Normal file → Executable file
0
channels/animesaturn.json
Normal file → Executable file
0
channels/animesaturn.py
Normal file → Executable file
0
channels/animesaturn.py
Normal file → Executable file
0
channels/animeunity.json
Normal file → Executable file
0
channels/animeunity.json
Normal file → Executable file
44
channels/animeunity.py
Normal file → Executable file
44
channels/animeunity.py
Normal file → Executable file
@@ -4,7 +4,7 @@
|
||||
# ------------------------------------------------------------
|
||||
|
||||
import cloudscraper, json, copy, inspect
|
||||
from core import jsontools, support, httptools
|
||||
from core import jsontools, support, httptools, scrapertools
|
||||
from platformcode import autorenumber
|
||||
|
||||
# support.dbg()
|
||||
@@ -53,7 +53,7 @@ def genres(item):
|
||||
# support.dbg()
|
||||
itemlist = []
|
||||
|
||||
genres = json.loads(support.match(response.text, patron='genres="([^"]+)').match.replace('"','"'))
|
||||
genres = json.loads(support.match(response.data, patron='genres="([^"]+)').match.replace('"','"'))
|
||||
|
||||
for genre in genres:
|
||||
item.args['genres'] = [genre]
|
||||
@@ -65,10 +65,10 @@ def years(item):
|
||||
itemlist = []
|
||||
|
||||
from datetime import datetime
|
||||
current_year = datetime.today().year
|
||||
oldest_year = int(support.match(response.text, patron='anime_oldest_date="([^"]+)').match)
|
||||
next_year = datetime.today().year + 1
|
||||
oldest_year = int(support.match(response.data, patron='anime_oldest_date="([^"]+)').match)
|
||||
|
||||
for year in list(reversed(range(oldest_year, current_year + 1))):
|
||||
for year in list(reversed(range(oldest_year, next_year + 1))):
|
||||
item.args['year']=year
|
||||
itemlist.append(item.clone(title=support.typo(year,'bold'), action='peliculas'))
|
||||
return itemlist
|
||||
@@ -116,23 +116,33 @@ def news(item):
|
||||
support.info()
|
||||
item.contentType = 'episode'
|
||||
itemlist = []
|
||||
import cloudscraper
|
||||
session = cloudscraper.create_scraper()
|
||||
|
||||
fullJs = json.loads(support.match(session.get(item.url).text, headers=headers, patron=r'items-json="([^"]+)"').match.replace('"','"'))
|
||||
fullJs = json.loads(support.match(httptools.downloadpage(item.url).data, headers=headers, patron=r'items-json="([^"]+)"').match.replace('"','"'))
|
||||
js = fullJs['data']
|
||||
|
||||
for it in js:
|
||||
if it.get('anime', {}).get('title'):
|
||||
if it.get('anime', {}).get('title') or it.get('anime', {}).get('title_eng'):
|
||||
title_name = it['anime']['title'] if it.get('anime', {}).get('title') else it['anime']['title_eng']
|
||||
pattern = r'[sS](?P<season>\d+)[eE](?P<episode>\d+)'
|
||||
match = scrapertools.find_single_match(it['file_name'], pattern)
|
||||
full_episode = ''
|
||||
if match:
|
||||
season, episode = match
|
||||
full_episode = ' - S' + season + ' E' + episode
|
||||
else:
|
||||
pattern = r'[._\s]Ep[._\s]*(?P<episode>\d+)'
|
||||
episode = scrapertools.find_single_match(it['file_name'], pattern)
|
||||
if episode:
|
||||
full_episode = ' - E' + episode
|
||||
itemlist.append(
|
||||
item.clone(title= support.typo(it['anime']['title'] + ' - EP. ' + it['number'], 'bold'),
|
||||
fulltitle=it['anime']['title'],
|
||||
thumbnail=it['anime']['imageurl'],
|
||||
item.clone(title = support.typo(title_name + full_episode, 'bold'),
|
||||
fulltitle = it['anime']['title'],
|
||||
thumbnail = it['anime']['imageurl'],
|
||||
forcethumb = True,
|
||||
scws_id=it.get('scws_id', ''),
|
||||
# video_url=it.get('link', ''),
|
||||
plot=it['anime']['plot'],
|
||||
action='findvideos')
|
||||
scws_id = it.get('scws_id', ''),
|
||||
url = '{}/anime/{}-{}'.format(item.url, it['anime']['id'],it['anime']['slug']),
|
||||
plot = it['anime']['plot'],
|
||||
action = 'findvideos')
|
||||
)
|
||||
if 'next_page_url' in fullJs:
|
||||
itemlist.append(item.clone(title=support.typo(support.config.get_localized_string(30992), 'color kod bold'),thumbnail=support.thumb(), url=fullJs['next_page_url']))
|
||||
@@ -255,4 +265,4 @@ def findvideos(item):
|
||||
# if info:
|
||||
# for url, res in info:
|
||||
# urls.append(['hls [{}]'.format(res), url])
|
||||
# return urls
|
||||
# return urls
|
||||
|
||||
0
channels/animeuniverse.json
Normal file → Executable file
0
channels/animeuniverse.json
Normal file → Executable file
0
channels/animeuniverse.py
Normal file → Executable file
0
channels/animeuniverse.py
Normal file → Executable file
0
channels/animeworld.json
Normal file → Executable file
0
channels/animeworld.json
Normal file → Executable file
0
channels/animeworld.py
Normal file → Executable file
0
channels/animeworld.py
Normal file → Executable file
0
channels/aniplay.json
Normal file → Executable file
0
channels/aniplay.json
Normal file → Executable file
0
channels/aniplay.py
Normal file → Executable file
0
channels/aniplay.py
Normal file → Executable file
0
channels/casacinema.json
Normal file → Executable file
0
channels/casacinema.json
Normal file → Executable file
0
channels/casacinema.py
Normal file → Executable file
0
channels/casacinema.py
Normal file → Executable file
0
channels/cb01anime.json
Normal file → Executable file
0
channels/cb01anime.json
Normal file → Executable file
0
channels/cb01anime.py
Normal file → Executable file
0
channels/cb01anime.py
Normal file → Executable file
0
channels/cineblog01.json
Normal file → Executable file
0
channels/cineblog01.json
Normal file → Executable file
0
channels/cineblog01.py
Normal file → Executable file
0
channels/cineblog01.py
Normal file → Executable file
0
channels/cinemalibero.json
Normal file → Executable file
0
channels/cinemalibero.json
Normal file → Executable file
0
channels/cinemalibero.py
Normal file → Executable file
0
channels/cinemalibero.py
Normal file → Executable file
0
channels/cinetecadibologna.json
Normal file → Executable file
0
channels/cinetecadibologna.json
Normal file → Executable file
0
channels/cinetecadibologna.py
Normal file → Executable file
0
channels/cinetecadibologna.py
Normal file → Executable file
0
channels/dinostreaming.json
Normal file → Executable file
0
channels/dinostreaming.json
Normal file → Executable file
0
channels/dinostreaming.py
Normal file → Executable file
0
channels/dinostreaming.py
Normal file → Executable file
0
channels/discoveryplus.json
Normal file → Executable file
0
channels/discoveryplus.json
Normal file → Executable file
0
channels/discoveryplus.py
Normal file → Executable file
0
channels/discoveryplus.py
Normal file → Executable file
0
channels/dreamsub.json
Normal file → Executable file
0
channels/dreamsub.json
Normal file → Executable file
0
channels/dreamsub.py
Normal file → Executable file
0
channels/dreamsub.py
Normal file → Executable file
4
channels/eurostreaming.json
Normal file → Executable file
4
channels/eurostreaming.json
Normal file → Executable file
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"id": "eurostreaming",
|
||||
"name": "Eurostreaming",
|
||||
"active": true,
|
||||
"active": false,
|
||||
"language": ["ita", "sub-ita"],
|
||||
"thumbnail": "eurostreaming.png",
|
||||
"banner": "eurostreaming.png",
|
||||
"categories": ["tvshow", "anime", "vos"],
|
||||
"settings": []
|
||||
}
|
||||
}
|
||||
|
||||
0
channels/eurostreaming.py
Normal file → Executable file
0
channels/eurostreaming.py
Normal file → Executable file
0
channels/eurostreaming_actor.json
Normal file → Executable file
0
channels/eurostreaming_actor.json
Normal file → Executable file
0
channels/eurostreaming_actor.py
Normal file → Executable file
0
channels/eurostreaming_actor.py
Normal file → Executable file
0
channels/filmpertutti.json
Normal file → Executable file
0
channels/filmpertutti.json
Normal file → Executable file
0
channels/filmpertutti.py
Normal file → Executable file
0
channels/filmpertutti.py
Normal file → Executable file
0
channels/filmstreaming.json
Normal file → Executable file
0
channels/filmstreaming.json
Normal file → Executable file
0
channels/filmstreaming.py
Normal file → Executable file
0
channels/filmstreaming.py
Normal file → Executable file
0
channels/guardaseriecam.json
Normal file → Executable file
0
channels/guardaseriecam.json
Normal file → Executable file
0
channels/guardaseriecam.py
Normal file → Executable file
0
channels/guardaseriecam.py
Normal file → Executable file
0
channels/guardaserieclick.json
Normal file → Executable file
0
channels/guardaserieclick.json
Normal file → Executable file
0
channels/guardaserieclick.py
Normal file → Executable file
0
channels/guardaserieclick.py
Normal file → Executable file
0
channels/guardaserieicu.json
Normal file → Executable file
0
channels/guardaserieicu.json
Normal file → Executable file
0
channels/guardaserieicu.py
Normal file → Executable file
0
channels/guardaserieicu.py
Normal file → Executable file
0
channels/hd4me.json
Normal file → Executable file
0
channels/hd4me.json
Normal file → Executable file
0
channels/hd4me.py
Normal file → Executable file
0
channels/hd4me.py
Normal file → Executable file
0
channels/ilcorsaronero.json
Normal file → Executable file
0
channels/ilcorsaronero.json
Normal file → Executable file
69
channels/ilcorsaronero.py
Normal file → Executable file
69
channels/ilcorsaronero.py
Normal file → Executable file
@@ -3,56 +3,33 @@
|
||||
# Canale per ilcorsaronero
|
||||
# ------------------------------------------------------------
|
||||
|
||||
from core import support
|
||||
|
||||
# def findhost(url):
|
||||
# data = support.httptools.downloadpage(url).data
|
||||
# url = support.scrapertools.find_single_match(data, '<li><a href="([^"]+)')
|
||||
# return url[:-1] if url.endswith('/') else url
|
||||
from core import support, httptools
|
||||
|
||||
host = support.config.get_channel_url()
|
||||
support.info('HOST',host)
|
||||
# host = 'https://ilcorsaronero.xyz'
|
||||
headers = [['Referer', host]]
|
||||
|
||||
|
||||
@support.menu
|
||||
def mainlist(item):
|
||||
|
||||
menu = [
|
||||
('BDRiP {film}', ['/categoria.php?active=0&category=1&order=data&by=DESC&page=', 'peliculas', [0, 'movie', True], 'undefined']),
|
||||
('Cerca BDRiP... {submenu} {film}', ['/torrent-ita/1/', 'search', ['search', 'movie', True], 'movie']),
|
||||
('DVD {film}', ['/categoria.php?active=0&category=20&order=data&by=DESC&page=', 'peliculas', [0, 'movie', True], 'undefined']),
|
||||
('Cerca DVD... {submenu} {film}', ['/torrent-ita/20/', 'search', ['search', 'movie', True], 'movie']),
|
||||
('Screener {film}', ['/categoria.php?active=0&category=19&order=data&by=DESC&page=', 'peliculas', [0, 'movie', True], 'undefined']),
|
||||
('Cerca Screener.. {submenu} {film}', ['/torrent-ita/19/', 'search', ['search', 'movie', True], 'movie']),
|
||||
('Serie TV', ['/categoria.php?active=0&category=15&order=data&by=DES&page=', 'peliculas', [0 , 'tvshow', True], 'tvshow']),
|
||||
('Cerca Serie TV.. {submenu}', ['/torrent-ita/15/', 'search', ['search', 'tvshow',True], 'tvshow']),
|
||||
('Anime', ['/categoria.php?active=0&category=5&order=data&by=DESC&page=', 'peliculas', [0, 'anime', True], 'tvshow']),
|
||||
('Cerca Anime.. {submenu}', ['/torrent-ita/5/', 'search', ['search', 'anime', True], 'tvshow']),
|
||||
('Musica', ['/categoria.php?active=0&category=2&order=data&by=DESC&page=', 'peliculas', [0, 'music', False], 'music']),
|
||||
('Cerca Musica.. {submenu}', ['/torrent-ita/2/', 'search', ['search', 'music', False], 'music']),
|
||||
('Audiolibri {musica}', ['/categoria.php?active=0&category=18&order=data&by=DESC&page=', 'peliculas', [0, 'music', False], 'music']),
|
||||
('Cerca Audiolibri.. {submenu}', ['/torrent-ita/18/', 'search', ['search', 'music', False], 'music']),
|
||||
# mostrerebbe anche risultati non "multimediali" e allungherebbero inutilmente la ricerca globale
|
||||
# ('Altro {film}', ['/categoria.php?active=0&category=4&order=data&by=DESC&page=', 'peliculas', [0, 'other', False]]),
|
||||
# ('Cerca altro.. {submenu}', ['/torrent-ita/4/', 'search', ['search', 'other', False]]),
|
||||
# ('Cerca Tutto... {color kod bold}', ['/argh.php?search=', 'search', ['search', 'all', False]])
|
||||
('Film {film}', ['/cat/film', 'peliculas', [0, 'movie', True], 'undefined']),
|
||||
('Serie TV', ['/cat/serie-tv', 'peliculas', [0 , 'tvshow', True], 'undefined']),
|
||||
('Animazione', ['/cat/animazione', 'peliculas', [0 , 'anime', True], 'undefined']),
|
||||
('Documentari', ['/cat/altro/documentari', 'peliculas', [0 , 'documentary', True], 'undefined']),
|
||||
('Programmi TV', ['/cat/altro/programmi-tv', 'peliculas', [0 , 'tvshow', True], 'tvshow']),
|
||||
('Video Musica', ['/cat/musica/video-musicali', 'peliculas', [0 , 'music', False], 'undefined']),
|
||||
('Videocorsi', ['/cat/altro/videocorsi', 'peliculas', [0 , 'music', False], 'undefined'])
|
||||
]
|
||||
search = ''
|
||||
|
||||
return locals()
|
||||
|
||||
|
||||
@support.scrape
|
||||
def peliculas(item):
|
||||
# debug = True
|
||||
debug = False
|
||||
action = 'findvideos'
|
||||
sceneTitle = item.args[2]
|
||||
if item.args[1] in ['tvshow', 'anime', 'music', 'other']:
|
||||
patron = r'>[^"<]+'
|
||||
else:
|
||||
patron = r'>(?P<quality>[^"<]+)'
|
||||
patron += '<td[^>]+><a class="tab" href="(?P<url>[^"]+)"\s*>[^<]+<[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>(?P<size>[^<]+)<[^>]+>[^>]+>[^>]+><form action="[^"]+/\d+/(?P<title>[^"]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>(?P<seed>[^<]+)'
|
||||
sceneTitle = item.args[2]
|
||||
|
||||
def itemHook(item):
|
||||
if not sceneTitle:
|
||||
@@ -62,33 +39,23 @@ def peliculas(item):
|
||||
|
||||
return item
|
||||
|
||||
if 'search' not in item.args:
|
||||
item.url += str(item.args[0])
|
||||
def itemlistHook(itemlist):
|
||||
args = item.args
|
||||
args[0] += 1
|
||||
support.nextPage(itemlist, item, next_page=item.url, function_or_level="peliculas")
|
||||
# itemlist.append(item.clone(title=support.typo(support.config.get_localized_string(30992), 'color kod bold'), args=args, thumbnail=support.thumb()))
|
||||
return itemlist
|
||||
patron = r'<a class="hover:underline line-clamp-1.*?href="(?P<url>[^"]+)"\s*>(?P<title>.*?)</a>[^>]+>[^>]+>[^>]+>(?P<seed>.*?)<'
|
||||
patronNext = r'<a href="(?P<url>[^"]+)".*?Next</span>'
|
||||
return locals()
|
||||
|
||||
|
||||
def search(item, text):
|
||||
support.info(item, text)
|
||||
if 'all' in item.args:
|
||||
item.url += text
|
||||
else:
|
||||
item.url += text + '.html'
|
||||
item.url = "{}/search?{}".format(host, support.urlencode({'q': text}))
|
||||
item.args = 'search'
|
||||
|
||||
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)
|
||||
logger.error("search except: %s" % line)
|
||||
return []
|
||||
|
||||
|
||||
def findvideos(item):
|
||||
if item.contentType == 'tvshow': item.contentType = 'episode'
|
||||
Videolibrary = True if 'movie' in item.args else False
|
||||
|
||||
0
channels/ilgeniodellostreaming.json
Normal file → Executable file
0
channels/ilgeniodellostreaming.json
Normal file → Executable file
0
channels/ilgeniodellostreaming.py
Normal file → Executable file
0
channels/ilgeniodellostreaming.py
Normal file → Executable file
0
channels/ilgeniodellostreaming_cam.json
Normal file → Executable file
0
channels/ilgeniodellostreaming_cam.json
Normal file → Executable file
0
channels/ilgeniodellostreaming_cam.py
Normal file → Executable file
0
channels/ilgeniodellostreaming_cam.py
Normal file → Executable file
0
channels/italiafilm.json
Normal file → Executable file
0
channels/italiafilm.json
Normal file → Executable file
0
channels/italiafilm.py
Normal file → Executable file
0
channels/italiafilm.py
Normal file → Executable file
0
channels/italiaserie.json
Normal file → Executable file
0
channels/italiaserie.json
Normal file → Executable file
0
channels/italiaserie.py
Normal file → Executable file
0
channels/italiaserie.py
Normal file → Executable file
0
channels/la7.json
Normal file → Executable file
0
channels/la7.json
Normal file → Executable file
0
channels/la7.py
Normal file → Executable file
0
channels/la7.py
Normal file → Executable file
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"id": "lordchannel",
|
||||
"name": "LordChannel",
|
||||
"active": true,
|
||||
"language": ["ita", "sub-ita"],
|
||||
"thumbnail": "lordchannel.png",
|
||||
"banner": "lordchannel.png",
|
||||
"categories": ["anime", "tvshow", "movie"],
|
||||
"settings": []
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# ------------------------------------------------------------
|
||||
# Canale per lordchannel.py
|
||||
# ------------------------------------------------------------
|
||||
|
||||
from core import httptools, support, scrapertools
|
||||
from core.item import Item
|
||||
from platformcode import config, logger
|
||||
|
||||
host = config.get_channel_url()
|
||||
headers = [['Referer', host]]
|
||||
|
||||
@support.menu
|
||||
def mainlist(item):
|
||||
|
||||
film = ['/film/',
|
||||
]
|
||||
tvshow = ['/serietv/',
|
||||
]
|
||||
|
||||
anime = ['/anime/anime-ita/',
|
||||
('Anime SUB-Ita', ['/anime/anime-sub-ita/','peliculas']),
|
||||
]
|
||||
search = ''
|
||||
return locals()
|
||||
|
||||
|
||||
@support.scrape
|
||||
def peliculas(item):
|
||||
if item.args == 'search':
|
||||
action = 'check'
|
||||
patron= r'<div class="col-6.*?<img\s.*?src="(?P<thumb>[^"]+).*?<h3.*?<a\shref="(?P<url>[^"]+).*?>(?P<title>.*?)</a'
|
||||
patronNext = r'<li class="paginator__item paginator__item--next">.*?href="(?P<url>[^"]+)'
|
||||
return locals()
|
||||
|
||||
@support.scrape
|
||||
def episodios(item):
|
||||
patronBlock=r'<div class="accordion__card.*?<span>.*?:\s*(?P<season>\d*?)\s*</span>(?P<block>.*?)</table>'
|
||||
patron=r'<tr>\s<th class="episode-link".*?href="(?P<url>[^"]+).*?>(?P<episode>\d+).*?_blank">(?P<title>.*?)</a>'
|
||||
downloadEnabled = False
|
||||
return locals()
|
||||
|
||||
def check(item):
|
||||
item.data = httptools.downloadpage(item.url).data
|
||||
if 'episode-link' in item.data.lower():
|
||||
item.contentType = 'tvshow'
|
||||
return episodios(item)
|
||||
else:
|
||||
item.contentType = 'movie'
|
||||
return findvideos(item)
|
||||
|
||||
|
||||
def search(item, text):
|
||||
item.url = "{}/cerca/?{}".format(host, support.urlencode({'q': text}))
|
||||
item.args = 'search'
|
||||
|
||||
try:
|
||||
return peliculas(item)
|
||||
|
||||
except:
|
||||
import sys
|
||||
for line in sys.exc_info():
|
||||
logger.error("search except: %s" % line)
|
||||
return []
|
||||
|
||||
def findvideos(item):
|
||||
video_url = item.url
|
||||
|
||||
if item.contentType == 'movie':
|
||||
video_url = support.match(video_url, patron=r'<a\shref="(?P<url>[^"]+)"\sclass="btn-streaming streaming_btn">').match
|
||||
|
||||
video_url = support.match(video_url, patron=r'<video-js.*?src="(?P<url>[^"]+)').match
|
||||
|
||||
if (video_url == ''):
|
||||
return []
|
||||
|
||||
item = item.clone(server='directo', url=video_url, no_return=True)
|
||||
return support.server(item,itemlist=[item], Download=False, Videolibrary=False)
|
||||
0
channels/mediasetplay.json
Normal file → Executable file
0
channels/mediasetplay.json
Normal file → Executable file
16
channels/mediasetplay.py
Normal file → Executable file
16
channels/mediasetplay.py
Normal file → Executable file
@@ -48,17 +48,19 @@ pagination = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100][config.get_setting('pagin
|
||||
def mainlist(item):
|
||||
top = [('Dirette {bold}', ['', 'live'])]
|
||||
|
||||
menu = [('Film {bullet bold}', ['/cinema', 'peliculas', {'uxReference':'filmUltimiArrivi'}, 'movie']),
|
||||
('Film Più Visti {submenu}', ['/cinema', 'peliculas', {'uxReference':'filmPiuVisti24H'}, 'movie']),
|
||||
menu = [('Film Più Visti {submenu}', ['/cinema', 'peliculas', {'uxReference':'filmPiuVisti24H'}, 'movie']),
|
||||
('Film ultimi arrivi {submenu}', ['/cinema', 'peliculas', {'uxReference':'filmUltimiArrivi'}, 'movie']),
|
||||
('Film Da Non Perdere {submenu}', ['/cinema', 'peliculas', {'uxReference':'filmClustering'}, 'movie']),
|
||||
('Fiction / Serie TV {bullet bold}', ['/fiction', 'peliculas', {'uxReference':'fictionSerieTvDelMomento'}, 'tvshow']),
|
||||
('Fiction e Serie Tv del momento {submenu}', ['/fiction', 'peliculas', {'uxReference':'fictionSerieTvDelMomento'}, 'tvshow']),
|
||||
('Serie TV Piu Viste {submenu}', ['/fiction', 'peliculas', {'uxReference':'serieTvPiuViste24H'}, 'tvshow']),
|
||||
('Le Serie Soap Del Momento {submenu}', ['/cinema', 'peliculas', {'uxReference':'fictionSerieTvParamsGenre', 'params': 'genre≈Soap opera'}, 'tvshow']),
|
||||
('Programmi TV{ bullet bold}', ['/programmitv', 'peliculas', {'uxReference':'stagioniPrimaSerata'}, 'tvshow']),
|
||||
('Kids {bullet bold}', ['/kids', 'peliculas', {'uxReference':'kidsMediaset' }, 'undefined']),
|
||||
('Soap del momento {submenu}', ['/cinema', 'peliculas', {'uxReference':'fictionSerieTvParamsGenre', 'params': 'genre≈Soap opera'}, 'tvshow']),
|
||||
('Programmi TV Prima serata{ submenu}', ['/programmitv', 'peliculas', {'uxReference':'stagioniPrimaSerata'}, 'tvshow']),
|
||||
('Programmi TV Daytime{ submenu}', ['/programmitv', 'peliculas', {'uxReference':'stagioniDaytime'}, 'tvshow']),
|
||||
('Talent e reality {submenu}', ['/talent', 'peliculas', {'uxReference':'multipleBlockProgrammiTv', 'userContext' :'iwiAeyJwbGF0Zm9ybSI6IndlYiJ9Aw'}, 'tvshow']),
|
||||
('Kids Evergreen {submenu}', ['/kids', 'peliculas', {'uxReference':'kidsMediaset' }, 'undefined']),
|
||||
('Kids Boing {submenu}', ['/kids', 'peliculas', {'uxReference':'kidsBoing' }, 'undefined']),
|
||||
('Kids Cartoonito {submenu}', ['/kids', 'peliculas', {'uxReference':'kidsCartoonito' }, 'undefined']),
|
||||
('Documentari {bullet bold}', ['/documentari', 'peliculas', {'uxReference': 'documentariPiuVisti24H'}, 'undefined']),
|
||||
('Documentari più visti {submenu}', ['/documentari', 'peliculas', {'uxReference': 'documentariPiuVisti24H'}, 'undefined']),
|
||||
]
|
||||
|
||||
search = ''
|
||||
|
||||
0
channels/mediasetplay.py.old
Normal file → Executable file
0
channels/mediasetplay.py.old
Normal file → Executable file
2
channels/metalvideo.json
Normal file → Executable file
2
channels/metalvideo.json
Normal file → Executable file
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"id": "metalvideo",
|
||||
"name": "Metal Video",
|
||||
"active": true,
|
||||
"active": false,
|
||||
"language": ["*"],
|
||||
"thumbnail": "metalvideo.png",
|
||||
"banner": "metalvideo.png",
|
||||
|
||||
0
channels/metalvideo.py
Normal file → Executable file
0
channels/metalvideo.py
Normal file → Executable file
0
channels/mondoserietv.json
Normal file → Executable file
0
channels/mondoserietv.json
Normal file → Executable file
0
channels/mondoserietv.py
Normal file → Executable file
0
channels/mondoserietv.py
Normal file → Executable file
0
channels/paramount.json
Normal file → Executable file
0
channels/paramount.json
Normal file → Executable file
0
channels/paramount.py
Normal file → Executable file
0
channels/paramount.py
Normal file → Executable file
0
channels/piratestreaming.json
Normal file → Executable file
0
channels/piratestreaming.json
Normal file → Executable file
0
channels/piratestreaming.py
Normal file → Executable file
0
channels/piratestreaming.py
Normal file → Executable file
0
channels/plutotv.json
Normal file → Executable file
0
channels/plutotv.json
Normal file → Executable file
0
channels/plutotv.py
Normal file → Executable file
0
channels/plutotv.py
Normal file → Executable file
0
channels/raiplay.json
Normal file → Executable file
0
channels/raiplay.json
Normal file → Executable file
0
channels/raiplay.py
Normal file → Executable file
0
channels/raiplay.py
Normal file → Executable file
0
channels/serietvu.json
Normal file → Executable file
0
channels/serietvu.json
Normal file → Executable file
0
channels/serietvu.py
Normal file → Executable file
0
channels/serietvu.py
Normal file → Executable file
0
channels/streamingcommunity.json
Normal file → Executable file
0
channels/streamingcommunity.json
Normal file → Executable file
4
channels/streamingcommunity.py
Normal file → Executable file
4
channels/streamingcommunity.py
Normal file → Executable file
@@ -162,9 +162,9 @@ def peliculas(item):
|
||||
if not item.newest:
|
||||
item.mainThumb = item.thumbnail
|
||||
if recordlist:
|
||||
itemlist.append(item.clone(action='peliculas',title=support.typo(support.config.get_localized_string(30992), 'color kod bold'), thumbnail=support.thumb(), page=page, records=recordlist))
|
||||
itemlist.append(item.clone(title=support.typo(support.config.get_localized_string(30992), 'color kod bold'), thumbnail=support.thumb(), page=page, records=recordlist))
|
||||
elif len(itemlist) >= 20:
|
||||
itemlist.append(item.clone(action='peliculas',title=support.typo(support.config.get_localized_string(30992), 'color kod bold'), thumbnail=support.thumb(), records=[], page=page + 1))
|
||||
itemlist.append(item.clone(title=support.typo(support.config.get_localized_string(30992), 'color kod bold'), thumbnail=support.thumb(), records=[], page=page + 1))
|
||||
|
||||
support.tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
|
||||
support.check_trakt(itemlist)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user