Fix ToonItalia

This commit is contained in:
Alhaziel
2019-10-23 20:19:17 +02:00
parent dcf6b47f58
commit be14537f85
2 changed files with 59 additions and 55 deletions

View File

@@ -1,49 +1,13 @@
{
"id": "toonitalia",
"name": "ToonItalia",
"language": ["ita"],
"language": ["ita", "sub-ita"],
"active": true,
"adult": false,
"thumbnail": "toonitalia.png",
"banner": "toonitalia.png",
"categories": ["tvshow", "movie", "vos", "anime"],
"settings": [
{
"id": "include_in_global_search",
"type": "bool",
"label": "Includi in Ricerca Globale",
"default": true,
"enabled": true,
"visible": true
},
{
"id": "checklinks",
"type": "bool",
"label": "Verifica se i link esistono",
"default": false,
"enabled": true,
"visible": true
},
{
"id": "checklinks_number",
"type": "list",
"label": "Numero di link da verificare",
"default": 1,
"enabled": true,
"visible": "eq(-1,true)",
"lvalues": [ "5", "10", "15", "20" ]
},
{
"id": "filter_languages",
"type": "list",
"label": "Mostra link in lingua...",
"default": 0,
"enabled": true,
"visible": true,
"lvalues": [
"No filtrar",
"Italiano"
]
}
]
"not_active":["include_in_newest_peliculas"],
"default_off":["include_in_newest"],
"settings": []
}

View File

@@ -19,25 +19,58 @@ def mainlist(item):
top = [('Novità',['', 'peliculas', 'new', 'tvshow']),
('Aggiornamenti', ['', 'peliculas', 'last', 'tvshow']),
('Popolari', ['', 'peliculas', 'most_view', 'tvshow'])]
tvshow = '/lista-serie-tv/'
('Popolari', ['', 'peliculas', 'most_view', 'tvshow'])]
tvshow = ['/lista-serie-tv/']
anime =['/lista-anime-2/',
('Sub-Ita',['/lista-anime-sub-ita/', 'peliculas', 'sub']),
('Film Animati',['/lista-film-animazione/','peliculas', '', 'movie'])]
('Film Animati',['/lista-film-animazione/','peliculas', '', 'movie'])]
search = ''
return locals()
def search(item, texto):
support.log(texto)
item.args='search'
item.contentType='tvshow'
item.url = host + '/?s=' + texto
try:
return peliculas(item)
return itemlist
# 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:
item.contentType = 'tvshow'
item.url= host
item.args= 'new'
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):
## import web_pdb; web_pdb.set_trace()
pagination = ''
anime = True
blacklist = ['-Film Animazione disponibili in attesa di recensione ']
if item.args == 'search':
patron = r'<h2 class="entry-title"><a href="(?P<url>[^"]+)" rel="bookmark">(?P<title>[^<]+)</a>'
patron = r'<h2 class="entry-title"><a href="(?P<url>[^"]+)" rel="bookmark">(?P<title>[^<]+)</a>.*?<p>(?P<plot>[^<]+)</p>.*?<span class="cat-links">Pubblicato in.*?.*?(?P<type>(?:[Ff]ilm|</artic))[^>]+>'
typeContentDict={'movie':['film']}
typeActionDict={'findvideos':['film']}
patronNext = r'<a href="([^"]+)"\s*>Articoli meno recenti'
elif item.args == 'last':
patronBlock = 'Aggiornamenti</h2>(?P<block>.*)</ul>'
patron = r'<a href="(?P<url>[^"]+)">(?P<title>[^<]+)</a>'
@@ -46,19 +79,23 @@ def peliculas(item):
patron = r'<a href="(?P<url>[^"]+)" title="(?P<title>[^"]+)"'
elif item.args == 'new':
patronBlock = '<main[^>]+>(?P<block>.*)</main>'
patron = r'<a href="(?P<url>[^"]+)" rel="bookmark">(?P<title>[^<]+)</a>[^>]+>[^>]+>[^>]+><img.*?src="(?P<thumb>[^"]+)".*?<p>(?P<plot>[^<]+)</p>'
patronNext = '<a class="next page-numbers" href="([^"]+)">'
patron = r'<a href="(?P<url>[^"]+)" rel="bookmark">(?P<title>[^<]+)</a>[^>]+>[^>]+>[^>]+><img.*?src="(?P<thumb>[^"]+)".*?<p>(?P<plot>[^<]+)</p>.*?<span class="cat-links">Pubblicato in.*?.*?(?P<type>(?:[Ff]ilm|</artic))[^>]+>'
patronNext = '<a class="next page-numbers" href="([^"]+)">'
typeContentDict={'movie':['film']}
typeActionDict={'findvideos':['film']}
else:
patronBlock = '"lcp_catlist"[^>]+>(?P<block>.*)</ul>'
patron = r'<li ><a href="(?P<url>[^"]+)" title="[^>]+">(?P<title>[^<|\(]+)?(?:\([^\d]*(?P<year>\d+)\))?[^<]*</a>'
if item.args == 'sub':
def itemHook(item):
def itemHook(item):
support.log(item.title)
item.title = support.re.sub(' (?:- )?[Ss]erie [Tt][Vv]', '', item.title)
if item.args == 'sub':
#corregge l'esatta lang per quelle pagine in cui c'è
#solo sub-ita
item.title = item.title.replace('[ITA]','[Sub-ITA]')
item.contentLanguage = 'Sub-ITA'
return item
return item
action = 'findvideos' if item.contentType == 'movie' else 'episodios'
@@ -68,18 +105,21 @@ def peliculas(item):
@support.scrape
def episodios(item):
anime = True
data = support.httptools.downloadpage(item.url, headers=headers).data
data = support.match(item, headers=headers)[1]
if 'https://vcrypt.net' in data:
patron = r'(?:<br /> |<p>)(?P<title>[^<]+)<a href="(?P<url>[^"]+)"'
else:
patron = r'<br /> <a href="(?P<url>[^"]+)" target="_blank" rel="noopener[^>]+>(?P<title>[^<]+)</a>'
patron = r'<br />\s*<a href="(?P<url>[^"]+)" target="_blank" rel="noopener[^>]+>(?P<title>[^<]+)</a>'
def itemHook(item):
item.title = item.title.replace('_',' ').replace('','-')
item.title = support.re.sub(r'\[B\]|\[/B\]', '', item.title)
item.title = item.title.replace('_',' ').replace('','-').replace('&#215;','x').replace('-','-').replace(' ',' ')
item.title = support.re.sub(item.fulltitle + ' - ','',item.title)
item.title = support.typo(item.title.strip(' -'),'bold')
return item
return locals()
def findvideos(item):
return support.server(item, item.url if item.contentType != 'movie' else support.httptools.downloadpage(item.url, headers=headers).data )