- nuovo metodo di override DNS - aggiunta opzione nascondi server, se usi l'autoplay - migliorie al codice e fix vari
124 lines
4.3 KiB
Python
124 lines
4.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
# ------------------------------------------------------------
|
|
# Canale per mondoserietv
|
|
# ----------------------------------------------------------
|
|
|
|
from core import support
|
|
|
|
host = support.config.get_channel_url()
|
|
|
|
IDIOMAS = {'Italiano': 'IT'}
|
|
list_language = IDIOMAS.values()
|
|
list_servers = ['akstream', 'wstream', 'vidtome', 'backin', 'nowvideo', 'verystream']
|
|
list_quality = ['default']
|
|
|
|
headers = {'Referer': host}
|
|
|
|
@support.menu
|
|
def mainlist(item):
|
|
|
|
film = ['/lista-film',
|
|
('Ultimi Film Aggiunti', ['/ultimi-film-aggiunti', 'peliculas' , 'last'])]
|
|
|
|
tvshow = ['/lista-serie-tv',
|
|
('HD {TV}', ['/lista-serie-tv-in-altadefinizione']),
|
|
('Anni 50 60 70 80 {TV}',['/lista-serie-tv-anni-60-70-80']),
|
|
('Serie Italiane',['/lista-serie-tv-italiane'])]
|
|
|
|
anime = ['/lista-cartoni-animati-e-anime']
|
|
|
|
docu = [('Documentari bullet bold',['/lista-documentari', 'peliculas', '', 'tvshow'])]
|
|
|
|
search = ''
|
|
|
|
return locals()
|
|
|
|
|
|
def search(item, text):
|
|
support.log(text)
|
|
if item.contentType == 'movie' or item.extra == 'movie':
|
|
action = 'findvideos'
|
|
else:
|
|
action = 'episodios'
|
|
item.args = 'search'
|
|
item.url = host + "/?s=" + text
|
|
try:
|
|
return peliculas(item)
|
|
# Continua la ricerca in caso di errore .
|
|
except:
|
|
import sys
|
|
for line in sys.exc_info():
|
|
support.logger.error("%s" % line)
|
|
return []
|
|
|
|
|
|
def newest(categoria):
|
|
support.log(categoria)
|
|
item = support.Item()
|
|
try:
|
|
if categoria == "series":
|
|
item.contentType= 'tvshow'
|
|
item.url = host + '/ultimi-episodi-aggiunti'
|
|
item.args = "lastep"
|
|
if categoria == "peliculas":
|
|
item.contentType= 'movie'
|
|
item.url = host + '/ultimi-film-aggiunti'
|
|
item.args = "last"
|
|
return peliculas(item)
|
|
# Continua la ricerca in caso di errore
|
|
except:
|
|
import sys
|
|
for line in sys.exc_info():
|
|
support.logger.error("{0}".format(line))
|
|
return []
|
|
|
|
|
|
@support.scrape
|
|
def peliculas(item):
|
|
pagination = ''
|
|
anime = True
|
|
patronNext = r'href="([^"]+)" title="[^"]+" class="lcp_nextlink"'
|
|
action = 'findvideos'
|
|
if item.args == 'last':
|
|
patronBlock = r'<table>(?P<block>.*?)</table>'
|
|
patron = r'<tr><td><a href="(?P<url>[^"]+)">\s*[^>]+>(?P<title>.*?)(?:\s(?P<year>\d{4}))? (?:Streaming|</b>)'
|
|
elif item.args == 'lastep':
|
|
patronBlock = r'<table>(?P<block>.*?)</table>'
|
|
patron = r'<td>\s*<a href="[^>]+>(?P<title>.*?)(?:\s(?P<year>\d{4}))?\s(?:(?P<episode>(?:\d+x\d+|\d+)))\s*(?P<title2>[^<]+)(?P<url>.*?)<tr>'
|
|
elif item.args == 'search':
|
|
patronBlock = r'<div class="peliculas">(?P<block>.*?)<div id="paginador"'
|
|
patron = r'class="item">\s*<a href="(?P<url>[^"]+)">\s*<div class="image">\s*<img src="(?P<thumb>[^"]+)" alt="(?P<title>.+?)(?:"| \d{4}).*?<span class="ttx">(?P<plot>[^<]+)<div class="degradado">[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>\s*(?:<span class="imdbs">(?P<rating>[^<]+))?(?:[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>(?P<year>\d+))?'
|
|
def itemHook(item):
|
|
if '/film/' in item.url:
|
|
item.contentType = 'movie'
|
|
item.action = 'findvideos'
|
|
else:
|
|
item.contentType = 'tvshow'
|
|
item.action = 'episodios'
|
|
return item
|
|
else:
|
|
patronBlock = r'<div class="entry-content pagess">(?P<block>.*?)</ul>'
|
|
patron = r'<li><a href="(?P<url>[^"]+)" title="(?P<title>.*?)(?:\s(?P<year>\d{4}))?"[^>]*>'
|
|
if item.contentType == 'tvshow':
|
|
action = 'episodios'
|
|
anime = True
|
|
return locals()
|
|
|
|
|
|
@support.scrape
|
|
def episodios(item):
|
|
anime = True
|
|
pagination = 50
|
|
patronBlock = r'<table>(?P<block>.*?)</table>'
|
|
patron = r'<tr><td><b>(?P<title>(?:\d+)?.*?)\s*(?:(?P<episode>(?:\d+x\d+|\d+)))\s*(?P<title2>[^<]+)(?P<url>.*?)<tr>'
|
|
def itemHook(item):
|
|
clear = support.re.sub(r'\[[^\]]+\]', '', item.title)
|
|
if clear.isdigit():
|
|
item.title = support. typo('Episodio ' + clear, 'bold')
|
|
return item
|
|
return locals()
|
|
|
|
def findvideos(item):
|
|
if item.contentType == 'movie': return support.server(item)
|
|
else: return support.server(item, item.url)
|