Aggiunto AnimeAltadefinizione e fix AnimeUniverse
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
"altadefinizione01": "https://www.altadefinizione01.photo",
|
"altadefinizione01": "https://www.altadefinizione01.photo",
|
||||||
"altadefinizione01_link": "https://altadefinizione01.wine",
|
"altadefinizione01_link": "https://altadefinizione01.wine",
|
||||||
"altadefinizioneclick": "https://altadefinizione.group",
|
"altadefinizioneclick": "https://altadefinizione.group",
|
||||||
|
"animealtadefinizione": "https://www.animealtadefinizione.it",
|
||||||
"animeforce": "https://ww1.animeforce.org",
|
"animeforce": "https://ww1.animeforce.org",
|
||||||
"animeleggendari": "https://animeora.com",
|
"animeleggendari": "https://animeora.com",
|
||||||
"animesaturn": "https://www.animesaturn.com",
|
"animesaturn": "https://www.animesaturn.com",
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"id": "animealtadefinizione",
|
||||||
|
"name": "AnimealtAdefinizione",
|
||||||
|
"active": true,
|
||||||
|
"language": ["ita", "sub-ita"],
|
||||||
|
"thumbnail": "animealtadefinizione.png",
|
||||||
|
"banner": "animealtadefinizione.png",
|
||||||
|
"categories": ["anime", "sub-ita"],
|
||||||
|
"not_active": ["include_in_newest"],
|
||||||
|
"settings": [
|
||||||
|
{
|
||||||
|
"id": "perpage",
|
||||||
|
"type": "list",
|
||||||
|
"label": "Elementi per pagina",
|
||||||
|
"default": 3,
|
||||||
|
"enabled": true,
|
||||||
|
"visible": true,
|
||||||
|
"lvalues": ["20","30","40","50","60","70","80","90","100"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Canale per animealtadefinizione
|
||||||
|
# ----------------------------------------------------------
|
||||||
|
|
||||||
|
from core import support
|
||||||
|
|
||||||
|
host = support.config.get_channel_url()
|
||||||
|
headers = [['Referer', host]]
|
||||||
|
|
||||||
|
perpage_list = ['20','30','40','50','60','70','80','90','100']
|
||||||
|
perpage = perpage_list[support.config.get_setting('perpage' , 'animealtadefinizione')]
|
||||||
|
epPatron = r'<td>\s*(?P<title>[^<]+)[^>]+>[^>]+>\s*<a href="(?P<url>[^"]+)"'
|
||||||
|
|
||||||
|
|
||||||
|
@support.menu
|
||||||
|
def mainlist(item):
|
||||||
|
anime=['/anime/',
|
||||||
|
('Tipo',['', 'menu', 'Anime']),
|
||||||
|
('Anno',['', 'menu', 'Anno']),
|
||||||
|
('Genere', ['', 'menu','Genere'])]
|
||||||
|
return locals()
|
||||||
|
|
||||||
|
|
||||||
|
@support.scrape
|
||||||
|
def menu(item):
|
||||||
|
action = 'peliculas'
|
||||||
|
data = support.match(item, patron= r'<a href="' + host + r'/category/' + item.args.lower() + r'/">' + item.args + r'</a><ul class="sub-menu">(.*?)</ul>').match
|
||||||
|
patronMenu = r'<a href="(?P<url>[^"]+)">(?P<title>[^<]+)<'
|
||||||
|
return locals()
|
||||||
|
|
||||||
|
|
||||||
|
def search(item, texto):
|
||||||
|
support.log(texto)
|
||||||
|
item.search = texto
|
||||||
|
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 []
|
||||||
|
|
||||||
|
|
||||||
|
@support.scrape
|
||||||
|
def peliculas(item):
|
||||||
|
if '/movie/' in item.url:
|
||||||
|
item.contentType = 'movie'
|
||||||
|
action='findvideos'
|
||||||
|
else:
|
||||||
|
item.contentType = 'tvshow'
|
||||||
|
action='episodios'
|
||||||
|
if item.search:
|
||||||
|
query = 's'
|
||||||
|
searchtext = item.search
|
||||||
|
else:
|
||||||
|
query='category_name'
|
||||||
|
searchtext = item.url.split('/')[-2]
|
||||||
|
if not item.pag: item.pag = 1
|
||||||
|
|
||||||
|
anime=True
|
||||||
|
data = support.match(host + '/wp-admin/admin-ajax.php', post='action=itajax-sort&loop=main+loop&location=&thumbnail=1&rating=1sorter=recent&columns=4&numarticles='+perpage+'&paginated='+str(item.pag)+'¤tquery%5B'+query+'%5D='+searchtext).data.replace('\\','')
|
||||||
|
patron=r'<a href="(?P<url>[^"]+)"><img width="[^"]+" height="[^"]+" src="(?P<thumb>[^"]+)" class="[^"]+" alt="" title="(?P<title>.*?)\s+(?P<type>Movie)?\s*(?P<lang>Sub Ita|Ita)'
|
||||||
|
|
||||||
|
typeContentDict = {'movie':['movie']}
|
||||||
|
typeActionDict = {'findvideos':['movie']}
|
||||||
|
|
||||||
|
def ItemItemlistHook(item, itemlist):
|
||||||
|
if item.search:
|
||||||
|
itemlist = [ it for it in itemlist if ' Episodio ' not in it.title ]
|
||||||
|
if len(itemlist) == int(perpage):
|
||||||
|
item.pag += 1
|
||||||
|
itemlist.append(item.clone(title=support.typo(support.config.get_localized_string(30992), 'color kod bold'), action='peliculas'))
|
||||||
|
return itemlist
|
||||||
|
return locals()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@support.scrape
|
||||||
|
def episodios(item):
|
||||||
|
pagination = int(perpage)
|
||||||
|
patron = epPatron
|
||||||
|
return locals()
|
||||||
|
|
||||||
|
|
||||||
|
def findvideos(item):
|
||||||
|
itemlist = []
|
||||||
|
if item.contentType == 'movie':
|
||||||
|
matches = support.match(item, patron=epPatron).matches
|
||||||
|
for title, url in matches:
|
||||||
|
get_video_list(url, title, itemlist)
|
||||||
|
else:
|
||||||
|
get_video_list(item.url, 'Diretto', itemlist)
|
||||||
|
return support.server(item, itemlist=itemlist)
|
||||||
|
|
||||||
|
|
||||||
|
def get_video_list(url, title, itemlist):
|
||||||
|
from requests import get
|
||||||
|
if not url.startswith('http'): url = host + url
|
||||||
|
|
||||||
|
url = support.match(get(url).url, string=True, patron=r'file=([^$]+)').match
|
||||||
|
if 'http' not in url: url = 'http://' + url
|
||||||
|
itemlist.append(support.Item(title=title, url=url, server='directo', action='play'))
|
||||||
|
|
||||||
|
return itemlist
|
||||||
@@ -10,6 +10,7 @@ headers = {}
|
|||||||
|
|
||||||
perpage_list = ['20','30','40','50','60','70','80','90','100']
|
perpage_list = ['20','30','40','50','60','70','80','90','100']
|
||||||
perpage = perpage_list[support.config.get_setting('perpage' , 'animeuniverse')]
|
perpage = perpage_list[support.config.get_setting('perpage' , 'animeuniverse')]
|
||||||
|
epPatron = r'<td>\s*(?P<title>[^<]+)[^>]+>[^>]+>\s*<a href="(?P<url>[^"]+)"'
|
||||||
|
|
||||||
|
|
||||||
@support.menu
|
@support.menu
|
||||||
@@ -61,7 +62,7 @@ def peliculas(item):
|
|||||||
|
|
||||||
anime=True
|
anime=True
|
||||||
data = support.match(host + '/wp-content/themes/animeuniverse/functions/ajax.php', post='sorter=recent&location=&loop=main+loop&action=sort&numarticles='+perpage+'&paginated='+str(item.pag)+'¤tquery%5B'+query+'%5D='+searchtext+'&thumbnail=1').data.replace('\\','')
|
data = support.match(host + '/wp-content/themes/animeuniverse/functions/ajax.php', post='sorter=recent&location=&loop=main+loop&action=sort&numarticles='+perpage+'&paginated='+str(item.pag)+'¤tquery%5B'+query+'%5D='+searchtext+'&thumbnail=1').data.replace('\\','')
|
||||||
patron=r'<a href="(?P<url>[^"]+)"><img width="[^"]+" height="[^"]+" src="(?P<thumb>[^"]+)" class="[^"]+" alt="" title="(?P<title>[^\["]+)\s+(?P<lang>(?:[Ss][Uu][Bb].)?[Ii][Tt][Aa])'
|
patron=r'<a href="(?P<url>[^"]+)"><img width="[^"]+" height="[^"]+" src="(?P<thumb>[^"]+)" class="[^"]+" alt="" title="(?P<title>.*?)\s+(?P<lang>Sub ITA|ITA)'
|
||||||
|
|
||||||
def ItemItemlistHook(item, itemlist):
|
def ItemItemlistHook(item, itemlist):
|
||||||
if len(itemlist) == int(perpage):
|
if len(itemlist) == int(perpage):
|
||||||
@@ -76,12 +77,27 @@ def peliculas(item):
|
|||||||
@support.scrape
|
@support.scrape
|
||||||
def episodios(item):
|
def episodios(item):
|
||||||
pagination = int(perpage)
|
pagination = int(perpage)
|
||||||
patron = r'<td>\s*(?P<title>[A-Za-z]+ \d+)[^>]+>[^>]+>\s*<a href="(?P<url>[^"]+)"'
|
patron = epPatron
|
||||||
return locals()
|
return locals()
|
||||||
|
|
||||||
|
|
||||||
def findvideos(item):
|
def findvideos(item):
|
||||||
url = support.match(support.httptools.downloadpage(item.url).url, string=True, patron=r'file=([^$]+)').match
|
itemlist = []
|
||||||
if 'http' not in url: url = 'http://' + url
|
if item.contentType == 'movie':
|
||||||
itemlist=[item.clone(title='Diretto', url=url, server='directo', action='play')]
|
matches = support.match(item, patron=epPatron).matches
|
||||||
|
for title, url in matches:
|
||||||
|
get_video_list(url, title, itemlist)
|
||||||
|
else:
|
||||||
|
get_video_list(item.url, 'Diretto', itemlist)
|
||||||
return support.server(item, itemlist=itemlist)
|
return support.server(item, itemlist=itemlist)
|
||||||
|
|
||||||
|
|
||||||
|
def get_video_list(url, title, itemlist):
|
||||||
|
from requests import get
|
||||||
|
if not url.startswith('http'): url = host + url
|
||||||
|
|
||||||
|
url = support.match(get(url).url, string=True, patron=r'file=([^$]+)').match
|
||||||
|
if 'http' not in url: url = 'http://' + url
|
||||||
|
itemlist.append(support.Item(title=title, url=url, server='directo', action='play'))
|
||||||
|
|
||||||
|
return itemlist
|
||||||
|
|||||||
Reference in New Issue
Block a user