- Riscritto News

- Finzioni peliculas -> movies, episodios -> episodes
 - Aggiornato sqlitedict
 - fix minori
This commit is contained in:
Alhaziel01
2021-09-30 19:41:46 +02:00
parent 52c74d3852
commit 5348eebe19
97 changed files with 1633 additions and 1347 deletions
+1 -1
View File
@@ -35,7 +35,7 @@ se vanno cancellati tutti deve rimanere la voce:
"visible": false
},
{
"id": "include_in_newest_peliculas",
"id": "include_in_newest_movie",
"type": "bool",
"label": "@70727",
"default": false,
+14 -14
View File
@@ -80,14 +80,14 @@ def mainlist(item):
# Voce FILM, puoi solo impostare l'url
film = ['', # url per la voce FILM, se possibile la pagina principale con le ultime novità
#Voce Menu,['url','action','args',contentType]
('Al Cinema', ['', 'peliculas', '']),
('Al Cinema', ['', 'movies', '']),
('Generi', ['', 'genres', 'genres']),
('Per Lettera', ['', 'genres', 'letters']),
('Anni', ['', 'genres', 'years']),
('Qualità', ['', 'genres', 'quality']),
('Mi sento fortunato', ['', 'genres', 'lucky']),
('Popolari', ['', 'peliculas', '']),
('Sub-ITA', ['', 'peliculas', ''])
('Popolari', ['', 'movies', '']),
('Sub-ITA', ['', 'movies', ''])
]
# Voce SERIE, puoi solo impostare l'url
@@ -144,7 +144,7 @@ def mainlist(item):
# lang = lingua del video. Es: ITA, Sub-ITA, Sub, SUB ITA.
# AVVERTENZE: Se il titolo è trovato nella ricerca TMDB/TVDB/Altro allora le locandine e altre info non saranno quelle recuperate nel sito.!!!!
@support.scrape
def peliculas(item):
def movies(item):
#logger.dbg() # decommentare per attivare web_pdb
action = ''
@@ -158,7 +158,7 @@ def peliculas(item):
return locals()
@support.scrape
def episodios(item):
def episodes(item):
#logger.dbg()
action = ''
@@ -192,7 +192,7 @@ def genres(item):
# per quei casi dove il sito non differenzia film e/o serie e/o anime
# e la ricerca porta i titoli mischiati senza poterli distinguere tra loro
# andranno modificate anche le def peliculas e episodios ove occorre
# andranno modificate anche le def movies e episodes ove occorre
def select(item):
logger.debug()
#logger.dbg()
@@ -203,7 +203,7 @@ def select(item):
block = scrapertools.find_single_match(data, r'')
if re.findall('', data, re.IGNORECASE):
logger.debug('select = ### è una serie ###')
return episodios(Item(channel=item.channel,
return episodes(Item(channel=item.channel,
title=item.title,
fulltitle=item.fulltitle,
url=item.url,
@@ -223,7 +223,7 @@ def search(item, text):
# se il canale è solo film, si può omettere, altrimenti bisgona aggiungerlo e discriminare.
item.contentType = item.contentType
try:
return peliculas(item)
return movies(item)
# Se captura la excepcion, para no interrumpir al buscador global si un canal falla
except:
import sys
@@ -235,17 +235,17 @@ def search(item, text):
# da adattare al canale
# inserire newest solo se il sito ha la pagina con le ultime novità/aggiunte
# altrimenti NON inserirlo
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = Item()
try:
if categoria == 'peliculas':
if category == 'movie':
item.url = host
item.action = 'peliculas'
itemlist = peliculas(item)
item.action = 'movies'
itemlist = movies(item)
if itemlist[-1].action == 'peliculas':
if itemlist[-1].action == 'movies':
itemlist.pop()
# Continua la ricerca in caso di errore
except:
+4 -4
View File
@@ -15,7 +15,7 @@ headers = [['Referer', host]]
def mainlist(item):
js = httptools.downloadpage(api_url.format('brands')).json
itemlist = []
item.action = 'peliculas'
item.action = 'movies'
js = httptools.downloadpage(api_url.format('brands')).json
for it in js.get('features',[]) + js.get('brands',[]):
itemlist.append(
@@ -31,7 +31,7 @@ def mainlist(item):
@support.scrape
def peliculas(item):
def movies(item):
tmdbEnabled = False
action = 'playradio'
patron = r'data-id="(?P<id>[^"]+)"\s*data-oldid="(?P<oldid>[^"]+)".*?data-name="(?P<title>[^"]+)(?:[^>]+>){5}<img class="[^"]+"\s*src="(?P<thumb>[^"]+)(?:[^>]+>){6}\s*(?P<plot>[^<]+)'
@@ -74,9 +74,9 @@ def search(item, text):
artists = support.match(data, patronBlock=r'artistResults(.*?)</ul', patron=r'href="(?P<url>[^"]+)"\s*>(?P<title>[^<]+)').matches
if artists:
for url, artist in artists:
itemlist.append(item.clone(title=support.typo(artist,'bullet bold'), thumbnail=support.thumb('music'), url=host+url, action='peliculas'))
itemlist.append(item.clone(title=support.typo(artist,'bullet bold'), thumbnail=support.thumb('music'), url=host+url, action='movies'))
item.data = data
itemlist += peliculas(item)
itemlist += movies(item)
# Continua la ricerca in caso di errore
except:
import sys
+12 -12
View File
@@ -21,19 +21,19 @@ headers = [['Referer', host]]
def mainlist(item):
film = [
('Al Cinema', ['/cinema/', 'peliculas', 'pellicola']),
('Ultimi Aggiornati-Aggiunti', ['','peliculas', 'update']),
('Al Cinema', ['/cinema/', 'movies', 'pellicola']),
('Ultimi Aggiornati-Aggiunti', ['','movies', 'update']),
('Generi', ['', 'genres', 'genres']),
('Lettera', ['/catalog/a/', 'genres', 'az']),
('Anni', ['', 'genres', 'years']),
('Sub-ITA', ['/sub-ita/', 'peliculas', 'pellicola'])
('Sub-ITA', ['/sub-ita/', 'movies', 'pellicola'])
]
return locals()
@support.scrape
def peliculas(item):
def movies(item):
action="findvideos"
@@ -60,7 +60,7 @@ def peliculas(item):
@support.scrape
def genres(item):
action = "peliculas"
action = "movies"
blacklist = ['Altadefinizione01']
if item.args == 'genres':
@@ -95,7 +95,7 @@ def search(item, text):
item.url = host + "/index.php?do=search&story=%s&subaction=search" % (text)
item.args = "search"
try:
return peliculas(item)
return movies(item)
# Cattura la eccezione così non interrompe la ricerca globle se il canale si rompe!
except:
import sys
@@ -103,18 +103,18 @@ def search(item, text):
logger.error("search except: %s" % line)
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = Item()
try:
if categoria == "peliculas":
if category == "movie":
item.url = host
item.action = "peliculas"
item.action = "movies"
item.contentType = 'movie'
itemlist = peliculas(item)
if itemlist[-1].action == "peliculas":
itemlist = movies(item)
if itemlist[-1].action == "movies":
itemlist.pop()
# Continua la ricerca in caso di errore
except:
+12 -12
View File
@@ -16,20 +16,20 @@ headers = [['Referer', host]]
@support.menu
def mainlist(item):
film = [
('Al Cinema', ['/film-del-cinema', 'peliculas', '']),
('Al Cinema', ['/film-del-cinema', 'movies', '']),
('Generi', ['', 'genres', 'genres']),
('Anni', ['', 'genres', 'years']),
('Qualità', ['/piu-visti.html', 'genres', 'quality']),
('Mi sento fortunato', ['/piu-visti.html', 'genres', 'lucky']),
('Popolari', ['/piu-visti.html', 'peliculas', '']),
('Sub-ITA', ['/film-sub-ita/', 'peliculas', ''])
('Popolari', ['/piu-visti.html', 'movies', '']),
('Sub-ITA', ['/film-sub-ita/', 'movies', ''])
]
return locals()
# ======== def in ordine di action dal menu ===========================
@support.scrape
def peliculas(item):
def movies(item):
patron = r'<a href="(?P<url>[^"]+)">(?P<title>[^<]+)(?:[^>]+>){5}\s*<div class="[^"]+" style="background-image:url\((?P<thumb>[^\)]+)(?:[^>]+>){6}\s*(?P<year>\d{4})[^>]+>[^>]+>(?:\s*(?P<duration>\d+))?(?:[^>]+>){0,2}\s+(?P<quality>[a-zA-Z]+)\s+(?:[^>]+>){2}\s*(?P<lang>[^>]+)\s+[^>]+>'
patronNext = r'<span>\d</span> <a href="([^"]+)">'
return locals()
@@ -38,7 +38,7 @@ def peliculas(item):
@support.scrape
def genres(item):
action = 'peliculas'
action = 'movies'
if item.args == 'genres':
patronBlock = r'<ul class="listSubCat" id="Film">(?P<block>.*)<ul class="listSubCat" id="Anno">'
elif item.args == 'years':
@@ -59,7 +59,7 @@ def search(item, text):
text = text.replace(" ", "+")
item.url = host+"/index.php?do=search&story=%s&subaction=search" % (text)
try:
return peliculas(item)
return movies(item)
# Se captura la excepcion, para no interrumpir al buscador global si un canal falla
except:
import sys
@@ -69,18 +69,18 @@ def search(item, text):
# =========== def per le novità nel menu principale =============
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = Item()
try:
if categoria == "peliculas":
if category == "movie":
item.url = host
item.action = "peliculas"
item.action = "movies"
item.contentType='movie'
itemlist = peliculas(item)
itemlist = movies(item)
if itemlist[-1].action == "peliculas":
if itemlist[-1].action == "movies":
itemlist.pop()
# Continua la ricerca in caso di errore
except:
+1 -1
View File
@@ -6,6 +6,6 @@
"thumbnail": "altadefinizioneclick.png",
"bannermenu": "altadefinizioneciclk.png",
"categories": ["tvshow","movie","sub"],
"not_active":["include_in_newest_series"],
"not_active":["include_in_newest_tvshow"],
"settings": []
}
+14 -14
View File
@@ -19,14 +19,14 @@ headers = [['Referer', host]]
@support.menu
def mainlist(item):
film = ['',
('Novità', ['/nuove-uscite/', 'peliculas', 'news']),
('Al Cinema', ['/al-cinema/', 'peliculas', 'cinema']),
('Novità', ['/nuove-uscite/', 'movies', 'news']),
('Al Cinema', ['/al-cinema/', 'movies', 'cinema']),
('A-Z',['/lista-film/', 'genres', 'az']),
('Generi', ['', 'genres', 'genres']),
('Anni', ['', 'genres', 'years']),
('Qualità', ['', 'genres', 'quality']),
('Mi sento Fortunato',[ '', 'genres', 'lucky']),
('Sub-ITA', ['/sub-ita/', 'peliculas', 'sub'])
('Sub-ITA', ['/sub-ita/', 'movies', 'sub'])
]
tvshow = ['/serie-tv/']
@@ -35,7 +35,7 @@ def mainlist(item):
return locals()
@support.scrape
def peliculas(item):
def movies(item):
action = 'check'
patron = r'<div class="wrapperImage">\s*(?:<span class="year">(?P<year>[^<]+)[^>]+>)?(?:<span class="hd">(?P<quality>[^<>]+))?.+?href="(?P<url>[^"]+)".+?src="(?P<thumb>[^"]+)".+?<h2 class="titleFilm">[^>]+>(?P<title>.+?)[ ]?(?:|\[(?P<lang>[^\]]+)\])?</a>.*?(?:IMDB\:</strong>[ ](?P<rating>.+?)<|</div>)'
@@ -60,7 +60,7 @@ def peliculas(item):
@support.scrape
def genres(item):
action = 'peliculas'
action = 'movies'
patronGenreMenu = r'<li><a href="(?P<url>[^"]+)">(?P<title>[^<]+)<'
if item.args == 'genres':
@@ -88,7 +88,7 @@ def search(item, text):
item.args = 'search'
item.url = host + "?s=" + text
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -96,19 +96,19 @@ def search(item, text):
logger.error("%s" % line)
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = Item()
try:
if categoria == "peliculas":
if category == "movie":
item.args = 'news'
item.contentType = 'movie'
item.url = host + "/nuove-uscite/"
item.action = "peliculas"
itemlist = peliculas(item)
item.action = "movies"
itemlist = movies(item)
if itemlist[-1].action == "peliculas":
if itemlist[-1].action == "movies":
itemlist.pop()
# Continua la ricerca in caso di errore
@@ -156,10 +156,10 @@ def check(item):
if res.result():
data += res.result()
item.data = data
return episodios(item)
return episodes(item)
@support.scrape
def episodios(item):
def episodes(item):
data = item.data
patron = r'(?P<season>\d+)x(?P<episode>\d+)\s*-\s*(?P<title>[^\|]+)\|(?P<url>[^ ]+)'
+7 -7
View File
@@ -128,7 +128,7 @@ def registerOrLogin():
@support.scrape
def peliculas(item):
def movies(item):
json = {}
# debug=True
@@ -138,7 +138,7 @@ def peliculas(item):
elif item.contentType == 'movie':
action = 'findvideos'
else:
action = 'episodios'
action = 'episodes'
if '/load-more-film' not in item.url and '/search' not in item.url: # generi o altri menu, converto
import ast
@@ -160,7 +160,7 @@ def peliculas(item):
url = '='.join(spl[:-1])
page = str(int(spl[-1])+1)
total_pages = json.get('lastPage', 0)
support.nextPage(itemlist, item, 'peliculas', next_page='='.join((url, page)), total_pages=total_pages)
support.nextPage(itemlist, item, 'movies', next_page='='.join((url, page)), total_pages=total_pages)
return itemlist
return locals()
@@ -172,7 +172,7 @@ def search(item, texto):
item.args = 'search'
item.url = host + "/search?s={}&page=1".format(texto)
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -200,13 +200,13 @@ def genres(item):
patronBlock = r'ANNO(?P<block>.*?</section>)'
else:
patronBlock = ('Film' if item.contentType == 'movie' else 'Serie TV') + r'<span></span></a>\s+<ul class="dropdown-menu(?P<block>.*?)active-parent-menu'
action = 'peliculas'
action = 'movies'
return locals()
@support.scrape
def episodios(item):
def episodes(item):
logger.debug()
data = item.data
patron = r'class="playtvshow "\s*data-href="(?P<url>[^"]+)'
@@ -225,7 +225,7 @@ def check(item):
resolve_url(item)
if '/tvshow' in item.url:
item.contentType = 'tvshow'
return episodios(item)
return episodes(item)
else:
item.contentType = 'movie'
return findvideos(item)
+11 -11
View File
@@ -21,13 +21,13 @@ def mainlist(item):
('Tipo',['', 'menu', 'Anime']),
('Anno',['', 'menu', 'Anno']),
('Genere', ['', 'menu','Genere']),
('Ultimi Episodi',['', 'peliculas', 'last'])]
('Ultimi Episodi',['', 'movies', 'last'])]
return locals()
@support.scrape
def menu(item):
action = 'peliculas'
action = 'movies'
patronBlock= r'<a href="' + host + r'/category/' + item.args.lower() + r'/">' + item.args + r'</a>\s*<ul class="sub-menu">(?P<block>.*?)</ul>'
patronMenu = r'<a href="(?P<url>[^"]+)">(?P<title>[^<]+)<'
if 'genere' in item.args.lower():
@@ -39,7 +39,7 @@ def search(item, text):
logger.debug(text)
item.search = text
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -48,14 +48,14 @@ def search(item, text):
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
item = support.Item()
try:
if categoria == "anime":
if category == "anime":
item.url = host
item.args = "last"
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -65,7 +65,7 @@ def newest(categoria):
@support.scrape
def peliculas(item):
def movies(item):
if '/movie/' in item.url:
item.contentType = 'movie'
action='findvideos'
@@ -74,7 +74,7 @@ def peliculas(item):
action='findvideos'
else:
item.contentType = 'tvshow'
action='episodios'
action='episodes'
if item.search:
query = 's'
searchtext = item.search
@@ -98,13 +98,13 @@ def peliculas(item):
if item.search:
itemlist = [ it for it in itemlist if ' Episodio ' not in it.title ]
if len(itemlist) == int(perpage):
support.nextPage(itemlist, item, 'peliculas', page=page + 1, total_pages=int(res.match))
support.nextPage(itemlist, item, 'movies', page=page + 1, total_pages=int(res.match))
return itemlist
return locals()
@support.scrape
def episodios(item):
def episodes(item):
numerationEnabled = True
pagination = True
patron = epPatron
+14 -14
View File
@@ -13,20 +13,20 @@ headers = [['Referer', host]]
@support.menu
def mainlist(item):
anime = ['/lista-anime/',
('In Corso',['/anime/anime-status/in-corso/', 'peliculas', 'status']),
('Completi',['/anime/anime-status/completo/', 'peliculas', 'status']),
('In Corso',['/anime/anime-status/in-corso/', 'movies', 'status']),
('Completi',['/anime/anime-status/completo/', 'movies', 'status']),
('Genere',['/anime', 'submenu', 'genre']),
('Anno',['/anime', 'submenu', 'anime-year']),
('Tipologia',['/anime', 'submenu', 'anime-type']),
('Stagione',['/anime', 'submenu', 'anime-season']),
('Ultime Serie',['/category/anime/articoli-principali/','peliculas','last'])
('Ultime Serie',['/category/anime/articoli-principali/','movies','last'])
]
return locals()
@support.scrape
def submenu(item):
action = 'peliculas'
action = 'movies'
patronBlock = r'data-taxonomy="' + item.args + r'"(?P<block>.*?)</select'
patronMenu = r'<option class="level-\d+ (?P<u>[^"]+)"[^>]+>(?P<title>[^(]+)[^\(]+\((?P<num>\d+)'
if 'genre' in item.args:
@@ -38,16 +38,16 @@ def submenu(item):
return locals()
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = support.Item()
try:
if categoria == "anime":
if category == "anime":
item.contentType = 'tvshow'
item.url = host
item.args = 'newest'
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -63,7 +63,7 @@ def search(item, text):
item.url = host + '/lista-anime/'
item.contentType = 'tvshow'
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -73,7 +73,7 @@ def search(item, text):
@support.scrape
def peliculas(item):
def movies(item):
search = item.search
numerationEnabled = True
if 'movie' in item.url:
@@ -104,12 +104,12 @@ def check(item):
item.contentType = 'movie'
return findvideos(item)
else:
return episodios(item)
return episodes(item)
def episodios(item):
def episodes(item):
@support.scrape
def _episodes(item):
actLike = 'episodios'
actLike = 'episodes'
disableAll = True
data = item.data
@@ -135,7 +135,7 @@ def episodios(item):
from platformcode.autorenumber import start
start(itemlist, item)
itemlist = support.season_pagination(itemlist, item, function_level='episodios')
itemlist = support.season_pagination(itemlist, item, function_level='episodes')
return itemlist
+1 -1
View File
@@ -6,6 +6,6 @@
"thumbnail": "animepertutti.png",
"bannermenu": "animepertutti.png",
"categories": ["anime", "sub"],
"not_active":["include_in_newest_peliculas", "include_in_newest_series", "include_in_newest_anime"],
"not_active":["include_in_newest_movie", "include_in_newest_tvshow", "include_in_newest_anime"],
"settings": []
}
+10 -10
View File
@@ -20,11 +20,11 @@ headers = [['User-Agent', 'Mozilla/50.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/
def mainlist(item):
anime = [
# ('Leggendari', ['/category/anime-leggendari/', 'peliculas']),
('ITA', ['/category/anime-ita/', 'peliculas']),
('SUB-ITA', ['/category/anime-sub-ita/', 'peliculas']),
('Conclusi', ['/category/serie-anime-concluse/', 'peliculas']),
('in Corso', ['/category/serie-anime-in-corso/', 'peliculas']),
# ('Leggendari', ['/category/anime-leggendari/', 'movies']),
('ITA', ['/category/anime-ita/', 'movies']),
('SUB-ITA', ['/category/anime-sub-ita/', 'movies']),
('Conclusi', ['/category/serie-anime-concluse/', 'movies']),
('in Corso', ['/category/serie-anime-in-corso/', 'movies']),
('Genere', ['', 'genres'])
]
@@ -36,7 +36,7 @@ def search(item, text):
item.url = host + "/?s=" + text
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
@@ -51,12 +51,12 @@ def genres(item):
blacklist = ['Contattaci','Privacy Policy', 'DMCA']
patronMenu = r'<a href="(?P<url>[^"]+)">(?P<title>[^<]+)<'
patronBlock = r'Generi</a>\s*<ul[^>]+>(?P<block>.*?)<\/ul>'
action = 'peliculas'
action = 'movies'
return locals()
@support.scrape
def peliculas(item):
def movies(item):
numerationEnabled = True
blacklist = ['top 10 anime da vedere']
if item.url != host: patronBlock = r'<div id="main-content(?P<block>.*?)<aside'
@@ -76,12 +76,12 @@ def peliculas(item):
return itlist
patronNext = r'<a class="next page-numbers" href="([^"]+)">'
action = 'episodios'
action = 'episodes'
return locals()
@support.scrape
def episodios(item):
def episodes(item):
data = support.match(item, headers=headers, patronBlock=r'entry-content clearfix">(.*?)class="mh-widget mh-posts-2 widget_text').block
if not 'pagination clearfix' in data:
logger.debug('NOT IN DATA')
+14 -14
View File
@@ -34,8 +34,8 @@ def mainlist(item):
('ITA',['', 'submenu', '/filter?language%5B0%5D=1']),
('SUB-ITA',['', 'submenu', '/filter?language%5B0%5D=0']),
('Più Votati',['/toplist','menu', 'top']),
('In Corso',['/animeincorso','peliculas','incorso']),
('Ultimi Episodi',['/fetch_pages.php?request=episodes&d=1','peliculas','updated'])]
('In Corso',['/animeincorso','movies','incorso']),
('Ultimi Episodi',['/fetch_pages.php?request=episodes&d=1','movies','updated'])]
return locals()
@@ -45,7 +45,7 @@ def search(item, text):
item.url = host + '/animelist?search=' + text
item.contentType = 'tvshow'
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -54,15 +54,15 @@ def search(item, text):
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = support.Item()
try:
if categoria == "anime":
if category == "anime":
item.url = host + '/fetch_pages.php?request=episodes&d=1'
item.args = "updated"
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -79,7 +79,7 @@ def submenu(item):
action = 'filter'
patronMenu = r'<h5 class="[^"]+">(?P<title>[^<]+)[^>]+>[^>]+>\s*<select id="(?P<parameter>[^"]+)"[^>]+>(?P<data>.*?)</select>'
def itemlistHook(itemlist):
itemlist.insert(0, item.clone(title=support.typo('Tutti','bold'), url=item.url + item.args, action='peliculas'))
itemlist.insert(0, item.clone(title=support.typo('Tutti','bold'), url=item.url + item.args, action='movies'))
return itemlist[:-1]
return locals()
@@ -88,7 +88,7 @@ def filter(item):
itemlist = []
matches = support.match(item.data if item.data else item.url, patron=r'<option value="(?P<value>[^"]+)"[^>]*>(?P<title>[^<]+)').matches
for value, title in matches:
itemlist.append(item.clone(title= support.typo(title,'bold'), url='{}{}&{}%5B0%5D={}'.format(host, item.args, item.parameter, value), action='peliculas', args='filter'))
itemlist.append(item.clone(title= support.typo(title,'bold'), url='{}{}&{}%5B0%5D={}'.format(host, item.args, item.parameter, value), action='movies', args='filter'))
support.thumb(itemlist, mode='genre')
return itemlist
@@ -96,7 +96,7 @@ def filter(item):
@support.scrape
def menu(item):
patronMenu = r'<div class="col-md-13 bg-dark-as-box-shadow p-2 text-white text-center">(?P<title>[^"<]+)<(?P<other>.*?)(?:"lista-top"|"clearfix")'
action = 'peliculas'
action = 'movies'
item.args = 'top'
def itemHook(item2):
item2.url = item.url
@@ -106,7 +106,7 @@ def menu(item):
@support.scrape
def peliculas(item):
def movies(item):
numerationEnabled = True
deflang= 'Sub-ITA'
@@ -155,17 +155,17 @@ def peliculas(item):
def check(item):
movie = support.match(item, patron=r'Episodi:</b> (\d*) Movie')
if movie.match:
episodes = episodios(item)
episodes = episodes(item)
if len(episodes) > 0:
it = episodes[0].clone(contentType = 'movie', contentTitle=item.fulltitle, contentSerieName='')
return findvideos(it)
else:
item.contentType = 'tvshow'
return episodios(item)
return episodes(item)
@support.scrape
def episodios(item):
def episodes(item):
if item.contentType != 'movie': numerationEnabled = True
patron = r'episodi-link-button">\s*<a href="(?P<url>[^"]+)"[^>]+>\s*(?P<title>[^<]+)</a>'
return locals()
+9 -9
View File
@@ -32,7 +32,7 @@ def mainlist(item):
def menu(item):
item.action = 'peliculas'
item.action = 'movies'
ITA = copy.copy(item.args)
ITA['title'] = '(ita)'
InCorso = copy.copy(item.args)
@@ -58,7 +58,7 @@ def genres(item):
for genre in genres:
item.args['genres'] = [genre]
itemlist.append(item.clone(title=support.typo(genre['name'],'bold'), action='peliculas'))
itemlist.append(item.clone(title=support.typo(genre['name'],'bold'), action='movies'))
return support.thumb(itemlist)
def years(item):
@@ -71,7 +71,7 @@ def years(item):
for year in list(reversed(range(oldest_year, current_year + 1))):
item.args['year']=year
itemlist.append(item.clone(title=support.typo(year,'bold'), action='peliculas'))
itemlist.append(item.clone(title=support.typo(year,'bold'), action='movies'))
return itemlist
@@ -84,7 +84,7 @@ def search(item, text):
item.search = text
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -93,8 +93,8 @@ def search(item, text):
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = support.Item()
item.url = host
@@ -138,7 +138,7 @@ def news(item):
return itemlist
def peliculas(item):
def movies(item):
logger.debug()
itemlist = []
@@ -179,7 +179,7 @@ def peliculas(item):
itm.contentType = 'tvshow'
itm.contentTitle = ''
itm.fulltitle = itm.show = itm.contentSerieName = title
itm.action = 'episodios'
itm.action = 'episodes'
itm.episodes = it['episodes'] if 'episodes' in it else it['scws_id']
itm.video_url = item.url
@@ -191,7 +191,7 @@ def peliculas(item):
return itemlist
def episodios(item):
def episodes(item):
logger.debug()
itemlist = []
title = 'Parte ' if item.type.lower() == 'movie' else 'Episodio '
+12 -12
View File
@@ -20,14 +20,14 @@ def mainlist(item):
('Tipo',['', 'menu', 'Anime']),
('Anno',['', 'menu', 'Anno']),
('Genere', ['', 'menu','Genere']),
('Ultimi Episodi',['/2/', 'peliculas', 'last']),
('Hentai', ['/hentai/', 'peliculas'])]
('Ultimi Episodi',['/2/', 'movies', 'last']),
('Hentai', ['/hentai/', 'movies'])]
return locals()
@support.scrape
def menu(item):
action = 'peliculas'
action = 'movies'
patronBlock = item.args + r'</a>\s*<ul class="sub-menu">(?P<block>.*?)</ul>'
patronMenu = r'<a href="(?P<url>[^"]+)">(?P<title>[^<]+)<'
if 'genere' in item.args.lower():
@@ -39,7 +39,7 @@ def search(item, text):
logger.debug(text)
item.search = text
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -48,14 +48,14 @@ def search(item, text):
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
item = support.Item()
try:
if categoria == "anime":
if category == "anime":
item.url = host
item.args = "last"
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -65,7 +65,7 @@ def newest(categoria):
@support.scrape
def peliculas(item):
def movies(item):
query = ''
if '/mos/' in item.url:
item.contentType = 'movie'
@@ -77,7 +77,7 @@ def peliculas(item):
action='findvideos'
else:
item.contentType = 'tvshow'
action='episodios'
action='episodes'
if item.search:
query = 's'
searchtext = item.search
@@ -94,7 +94,7 @@ def peliculas(item):
def itemlistHook(itemlist):
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'))
itemlist.append(item.clone(title=support.typo(support.config.get_localized_string(30992), 'color kod bold'), action='movies'))
return itemlist
return locals()
@@ -102,7 +102,7 @@ def peliculas(item):
@support.scrape
def episodios(item):
def episodes(item):
numerationEnabled = True
pagination = True
patron = epPatron
+14 -14
View File
@@ -41,16 +41,16 @@ def mainlist(item):
anime=['/filter?sort=',
('ITA',['/filter?dub=1&sort=', 'menu', '1']),
('SUB-ITA',['/filter?dub=0&sort=', 'menu', '0']),
('In Corso', ['/ongoing', 'peliculas','noorder']),
('Ultimi Episodi', ['/updated', 'peliculas', 'updated']),
('Nuove Aggiunte',['/newest', 'peliculas','noorder' ]),
('In Corso', ['/ongoing', 'movies','noorder']),
('Ultimi Episodi', ['/updated', 'movies', 'updated']),
('Nuove Aggiunte',['/newest', 'movies','noorder' ]),
('Generi',['/?d=1','genres',])]
return locals()
@support.scrape
def genres(item):
action = 'peliculas'
action = 'movies'
data = get_data(item)
patronBlock = r'dropdown[^>]*>\s*Generi\s*<span.[^>]+>(?P<block>.*?)</ul>'
patronGenreMenu = r'<input.*?name="(?P<name>[^"]+)" value="(?P<value>[^"]+)"\s*>[^>]+>(?P<title>[^<]+)</label>'
@@ -70,7 +70,7 @@ def menu(item):
def itemlistHook(itemlist):
for item in itemlist:
item.title += ' {anime}'
itemlist.insert(0, item.clone(title=support.typo('Tutti {anime}','bold'), action='peliculas'))
itemlist.insert(0, item.clone(title=support.typo('Tutti {anime}','bold'), action='movies'))
itemlist.append(item.clone(title=support.typo('Cerca... {anime}','bold'), action='search', search=True, thumbnail=support.thumb('search.png')))
return itemlist
return locals()
@@ -78,7 +78,7 @@ def menu(item):
@support.scrape
def submenu(item):
action = 'peliculas'
action = 'movies'
data = item.other
patronMenu = r'<input.*?name="(?P<name>[^"]+)" value="(?P<value>[^"]+)"\s*>[^>]+>(?P<title>[^<]+)<\/label>'
def itemHook(item):
@@ -87,14 +87,14 @@ def submenu(item):
return locals()
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
item = support.Item()
try:
if categoria == "anime":
if category == "anime":
item.url = host + '/updated'
item.args = "updated"
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -112,7 +112,7 @@ def search(item, texto):
item.url = host + '/search?keyword=' + texto
item.contentType = 'tvshow'
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -122,7 +122,7 @@ def search(item, texto):
@support.scrape
def peliculas(item):
def movies(item):
numerationEnabled = True
# debug = True
if item.args not in ['noorder', 'updated'] and not item.url[-1].isdigit(): item.url += order() # usa l'ordinamento di configura canale
@@ -134,7 +134,7 @@ def peliculas(item):
action='findvideos'
else:
patron= r'<div class="inner">\s*<a href="(?P<url>[^"]+)" class[^>]+>\s*<img.*?src="(?P<thumb>[^"]+)" alt?="(?P<title>[^\("]+)(?:\((?P<year>\d+)\) )?(?:\((?P<lang>[^\)]+)\))?(?P<title2>[^"]+)?[^>]+>[^>]+>(?:\s*<div class="(?P<l>[^"]+)">[^>]+>)?\s*(?:<div class="[^"]+">(?P<type>[^<]+)</div>)?'
action='episodios'
action='episodes'
# Controlla la lingua se assente
patronNext=r'<a href="([^"]+)" class="[^"]+" id="go-next'
@@ -153,7 +153,7 @@ def peliculas(item):
@support.scrape
def episodios(item):
def episodes(item):
data = get_data(item)
numerationEnabled = True
# pagination = True
+10 -10
View File
@@ -29,7 +29,7 @@ def submenu_az(item):
for letter in ['0-9'] + list('ABCDEFGHIJKLMNOPQRSTUVWXYZ'):
itemlist.append(item.clone(title = support.typo(letter, 'bold'),
url= host + '/api/anime/find-by-char',
action= 'peliculas',
action= 'movies',
variable= '&character=' + letter,
thumbnail=support.thumb('az')))
return itemlist
@@ -67,7 +67,7 @@ def submenu_season(item):
itemlist.append(item.clone(title=title,
url = '{}/api/seasonal-view/{}-{}'.format(host, s, item.variable),
thumbnail = support.thumb(s),
action = 'peliculas',
action = 'movies',
variable=''))
return itemlist
@@ -86,7 +86,7 @@ def submenu_top_of(item):
id=anime['animeId'],
url = '{}/api/anime/{}'.format(host, anime['animeId']),
thumbnail = get_thumbnail(anime, 'animeHorizontalImages'),
action = 'episodios',
action = 'episodes',
variable=anime['animeId']))
return itemlist
@@ -98,7 +98,7 @@ def search(item, texto):
item.variable = '&query=' + texto
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -107,11 +107,11 @@ def search(item, texto):
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
item = support.Item()
try:
if categoria == "anime":
if category == "anime":
return latest_added(item)
# Continua la ricerca in caso di errore
except:
@@ -155,7 +155,7 @@ def latest_added(item):
return itemlist
def peliculas(item):
def movies(item):
logger.debug()
itemlist = []
@@ -174,7 +174,7 @@ def peliculas(item):
contentType = 'movie' if it['type'] == 'Movie' else 'tvshow',
contentTitle = title,
contentSerieName = title if it['type'] == 'Serie' else '',
action ='findvideos' if it['type'] == 'Movie' else 'episodios',# '' if not active else 'findvideos' if it['type'] == 'Movie' else 'episodios',
action ='findvideos' if it['type'] == 'Movie' else 'episodes',# '' if not active else 'findvideos' if it['type'] == 'Movie' else 'episodes',
plot = it['storyline'],
year = it['startDate'].split('-')[0],
url = '{}/api/anime/{}'.format(host, it['id']),
@@ -189,7 +189,7 @@ def peliculas(item):
return itemlist
def episodios(item):
def episodes(item):
logger.debug()
itemlist = []
+13 -13
View File
@@ -15,11 +15,11 @@ headers = [['Referer', host]]
def mainlist(item):
film = ['/category/film',
('Generi', ['', 'genres', 'genres']),
('Sub-ITA', ['/category/sub-ita/', 'peliculas', 'sub'])
('Sub-ITA', ['/category/sub-ita/', 'movies', 'sub'])
]
tvshow = ['/category/serie-tv',
('Novità', ['/aggiornamenti-serie-tv', 'peliculas', '']),
('Novità', ['/aggiornamenti-serie-tv', 'movies', '']),
]
search = ''
@@ -29,7 +29,7 @@ def mainlist(item):
@support.scrape
def genres(item):
action = 'peliculas'
action = 'movies'
blacklist = ['PRIME VISIONI', 'ULTIME SERIE TV', 'ULTIMI FILM']
patronGenreMenu = r'<li><a href="(?P<url>[^"]+)">(?P<title>[^<>]+)</a></li>'
patronBlock = r'<div class="container home-cats">(?P<block>.*?)<div class="clear">'
@@ -45,7 +45,7 @@ def select(item):
else:
logger.debug('select = ### è una serie ###')
item.contentType = 'tvshow'
return episodios(item)
return episodes(item)
def search(item, text):
@@ -54,7 +54,7 @@ def search(item, text):
item.url = host + '/?s=' + text
item.args = 'search'
try:
return peliculas(item)
return movies(item)
except:
import sys
@@ -63,13 +63,13 @@ def search(item, text):
return []
def newest(categoria):
def newest(category):
itemlist = []
item = support.Item()
item.args = 'newest'
try:
if categoria == 'series':
if category == 'tvshow':
item.contentType = 'tvshow'
item.url = host+'/aggiornamenti-serie-tv'
@@ -77,10 +77,10 @@ def newest(categoria):
item.contentType = 'movie'
item.url = host+'/category/film'
item.action = 'peliculas'
itemlist = peliculas(item)
item.action = 'movies'
itemlist = movies(item)
if itemlist[-1].action == 'peliculas':
if itemlist[-1].action == 'movies':
itemlist.pop()
# Continua la ricerca in caso di errore
@@ -94,12 +94,12 @@ def newest(categoria):
@support.scrape
def peliculas(item):
def movies(item):
# debug = True
if item.contentType == 'movie':
action = 'findvideos'
elif item.contentType == 'tvshow':
action = 'episodios'
action = 'episodes'
pagination = True
else:
action = 'select'
@@ -129,7 +129,7 @@ def peliculas(item):
@support.scrape
def episodios(item):
def episodes(item):
if item.data:
data = item.data
action = 'findvideos'
+11 -11
View File
@@ -19,7 +19,7 @@ def mainlist(item):
anime = [('Genere',['','menu', '2']),
('Per Lettera',['','menu', '1']),
('Per Anno',['','menu', '3']),
('Ultimi Anime Aggiornati',['','peliculas', 'newest'])]
('Ultimi Anime Aggiornati',['','movies', 'newest'])]
return locals()
@@ -30,7 +30,7 @@ def menu(item):
patronMenu = r'<option value="(?P<url>[^"]+)">(?P<title>[^<]+)</option>'
if '2' in item.args:
patronGenreMenu = patronMenu
action = 'peliculas'
action = 'movies'
def itemHook(item):
item.url = item.url.replace('cb01-anime/','cb01-anime-cartoon/')
return item
@@ -41,7 +41,7 @@ def search(item, texto):
logger.debug(texto)
item.url = host + "/search/" + texto
try:
return peliculas(item)
return movies(item)
except:
import sys
for line in sys.exc_info():
@@ -49,15 +49,15 @@ def search(item, texto):
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = support.Item()
try:
if categoria == "anime":
if category == "anime":
item.url = host
item.args = 'newest'
itemlist = peliculas(item)
itemlist = movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -68,7 +68,7 @@ def newest(categoria):
return itemlist
@support.scrape
def peliculas(item):
def movies(item):
# debug=True
blacklist = Blacklist
item.contentType = 'tvshow'
@@ -84,15 +84,15 @@ def check(item):
item.url = support.match(item, patron=r'(?:<p>|/>)(.*?)(?:<br|</td>|</p>)', patronBlock=r'Streaming:(.*?)</tr>').matches
if 'Episodio' in str(item.url):
item.contentType = 'tvshow'
item.action ='episodios'
return episodios(item)
item.action ='episodes'
return episodes(item)
else:
item.contentType = 'movie'
item.action = 'findvideos'
return findvideos(item)
@support.scrape
def episodios(item):
def episodes(item):
logger.debug('EPISODIOS ', item.data)
data = ''
matches = item.data
+19 -19
View File
@@ -27,17 +27,17 @@ def mainlist(item):
('Generi', ['', 'menu', 'Film per Genere']),
('Anni', ['', 'menu', 'Film per Anno']),
('Paese', ['', 'menu', 'Film per Paese']),
('Ultimi Aggiornati', ['/ultimi-100-film-aggiornati/', 'peliculas', 'newest']),
('Ultimi Aggiunti', ['/lista-film-ultimi-100-film-aggiunti/', 'peliculas', 'newest'])
('Ultimi Aggiornati', ['/ultimi-100-film-aggiornati/', 'movies', 'newest']),
('Ultimi Aggiunti', ['/lista-film-ultimi-100-film-aggiunti/', 'movies', 'newest'])
]
tvshow = ['/serietv/',
('Per Lettera', ['/serietv/', 'menu', 'Serie-Tv per Lettera']),
('Per Genere', ['/serietv/', 'menu', 'Serie-Tv per Genere']),
('Per anno', ['/serietv/', 'menu', 'Serie-Tv per Anno']),
('Ultime Aggiornate', ['/serietv/ultime-100-serie-tv-aggiornate/', 'peliculas', 'newest'])
('Ultime Aggiornate', ['/serietv/ultime-100-serie-tv-aggiornate/', 'movies', 'newest'])
]
docu = [('Documentari {bullet bold}', ['/category/documentario/', 'peliculas']),
('HD {submenu} {documentari}', ['/category/hd-alta-definizione/documentario-hd/', 'peliculas'])
docu = [('Documentari {bullet bold}', ['/category/documentario/', 'movies']),
('HD {submenu} {documentari}', ['/category/hd-alta-definizione/documentario-hd/', 'movies'])
]
return locals()
@@ -49,24 +49,24 @@ def menu(item):
patronMenu = r'href="?(?P<url>[^">]+)"?>(?P<title>.*?)<\/a>'
if 'genere' in item.args.lower():
patronGenreMenu = patronMenu
action = 'peliculas'
action = 'movies'
return locals()
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
item = support.Item()
try:
if categoria == "series":
if category == 'tvshow':
item.contentType = 'tvshow'
item.url = host + '/serietv/' # aggiornamento-quotidiano-serie-tv/'
else:
item.contentType = 'movie'
item.url = host + '/lista-film-ultimi-100-film-aggiunti/'
item.args = "newest"
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -82,7 +82,7 @@ def search(item, text):
else: item.url = host
try:
item.url = item.url + "/search/" + text.replace(' ', '+')
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
@@ -93,7 +93,7 @@ def search(item, text):
@support.scrape
def peliculas(item):
def movies(item):
# debug = True
# esclusione degli articoli 'di servizio'
# curYear = datetime.date.today().year
@@ -111,7 +111,7 @@ def peliculas(item):
action = 'findvideos'
else:
patron = r'src=(?:")?(?P<thumb>[^ "]+)(?:")? alt=(?:")?(?P<title>.*?)(?: &#8211; \d+&#215;\d+)?(?:>|"| &#8211; )(?:(?P<lang>Sub-ITA|ITA))?[^>]*>.*?<a href=(?:")?(?P<url>[^" ]+)(?:")?.*?rpwe-summary[^>]*>(?P<genre>[^\(]*)\((?P<year>\d{4})[^\)]*\) (?P<plot>[^<]+)<'
action = 'episodios'
action = 'episodes'
elif '/serietv/' not in item.url:
patron = r'(?<!sticky )hentry.*?<div class="card-image">\s*<a[^>]+>\s*<img src="(?P<thumb>[^" ]+)" alt[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+><a href="?(?P<url>[^" >]+)(?:\/|"|\s+)>(?P<title>[^<[(]+)(?:\[(?P<quality>[a-zA-Z/]+)\]\s*)?(?:\[(?P<lang>Sub-ITA|ITA)\]\s*)?(?:\[(?P<quality2>[a-zA-Z/]+)\]\s*)? (?:\((?P<year>[0-9]{4})\))?[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>(?P<genre>[^<>&‖“]+)(?:[^ ]+\s*DURATA\s*(?P<duration>[0-9]+)[^>]+>[^>]+>[^>]+>(?P<plot>[^<>]+))?'
@@ -119,7 +119,7 @@ def peliculas(item):
else:
patron = r'(?<!sticky )hentry.*?card-image[^>]*>\s*<a href=(?:")?(?P<url>[^" >]+)(?:")?\s*>\s*<img src=(?:")?(?P<thumb>[^" ]+)(?:")? alt="(?P<title>.*?)(?: &#8211; \d+&#215;\d+)?(?:"| &#8211; )(?:(?P<lang>Sub-ITA|ITA))?[^>]*>[^>]+>[^>]+>[^>]*>[^>]+>[^>]+>[^>]*>[^>]+>[^>]+>[^>]*>[^>]+>[^>]+>[^>]*>(?P<genre>[^\(]+)\((?P<year>\d{4})[^>]*>[^>]+>[^>]+>[^>]+>(?:<p>)?(?P<plot>[^<]+)'
action = 'episodios'
action = 'episodes'
item.contentType = 'tvshow'
patronNext = '<a class="?page-link"? href="?([^>"]+)"?><i class="fa fa-angle-right">'
@@ -135,10 +135,10 @@ def peliculas(item):
def episodios(item):
def episodes(item):
@support.scrape
def listed(item, data):
actLike = 'episodios'
actLike = 'episodes'
disableAll = True
patronBlock = r'(?P<block>sp-head[^>]+>\s*(?:STAGION[EI]\s*(?:(?:DA)?\s*[0-9]+\s*A)?\s*[0-9]+|MINISSERIE)(?::\s*PARTE\s*[0-9]+)? - (?P<lang>[^-<]+)(?:- (?P<quality>[^-<]+))?.*?<\/div>.*?)spdiv[^>]*>'
@@ -150,7 +150,7 @@ def episodios(item):
def folder(item, data):
# Quando c'è un link ad una cartella contenente più stagioni
actLike = 'episodios'
actLike = 'episodes'
disableAll = True
sceneTitle = True
@@ -188,9 +188,9 @@ def episodios(item):
if not support.stackCheck(['add_tvshow', 'get_episodes', 'update', 'find_episodes']):
if len(seasons) > 1:
itemlist = support.season_pagination(itemlist, item, [], 'episodios')
itemlist = support.season_pagination(itemlist, item, [], 'episodes')
else:
itemlist = support.pagination(itemlist, item, 'episodios')
itemlist = support.pagination(itemlist, item, 'episodes')
if config.get_setting('episode_info'):
support.tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
support.videolibrary(itemlist, item)
+1 -1
View File
@@ -6,6 +6,6 @@
"thumbnail": "cinemalibero.png",
"banner": "cinemalibero.png",
"categories": ["movie","tvshow","anime"],
"not_active": ["include_in_newest_anime", "include_in_newest_peliculas"],
"not_active": ["include_in_newest_anime", "include_in_newest_movie"],
"settings": []
}
+15 -15
View File
@@ -29,15 +29,15 @@ headers = [['Referer', host]]
def mainlist(item):
film = ['/category/film/',
('Novità', ['', 'peliculas', 'update']),
('Novità', ['', 'movies', 'update']),
('Generi', ['', 'genres'])]
tvshow = ['/category/serie-tv/']
anime = ['/category/anime-giapponesi/']
## Sport = [(support.typo('Sport', 'bullet bold'), ['/category/sport/', 'peliculas', 'sport', 'tvshow'])]
news = [('Ultimi episodi Serie/Anime', ['/aggiornamenti-serie-tv/', 'peliculas', 'update', 'tvshow'])]
## Sport = [(support.typo('Sport', 'bullet bold'), ['/category/sport/', 'movies', 'sport', 'tvshow'])]
news = [('Ultimi episodi Serie/Anime', ['/aggiornamenti-serie-tv/', 'movies', 'update', 'tvshow'])]
search = ''
@@ -45,7 +45,7 @@ def mainlist(item):
@support.scrape
def peliculas(item):
def movies(item):
# debug = True
action = 'check'
patronBlock = r'<div class="container">.*?class="col-md-12[^"]*?">(?P<block>.*?)<div class=(?:"container"|"bg-dark ")>'
@@ -86,7 +86,7 @@ def peliculas(item):
return locals()
@support.scrape
def episodios(item):
def episodes(item):
data=item.data
# debug=True
if item.args == 'anime':
@@ -114,7 +114,7 @@ def episodios(item):
@support.scrape
def genres(item):
action='peliculas'
action='movies'
patron_block=r'<div id="bordobar" class="dropdown-menu(?P<block>.*?)</li>'
patronGenreMenu=r'<a class="dropdown-item" href="(?P<url>[^"]+)" title="(?P<title>[A-z]+)"'
@@ -129,7 +129,7 @@ def search(item, texto):
# item.contentType = 'tv'
item.args = 'search'
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -137,18 +137,18 @@ def search(item, texto):
logger.error("%s" % line)
return []
def newest(categoria):
logger.debug('newest ->', categoria)
def newest(category):
logger.debug('newest ->', category)
itemlist = []
item = Item()
item.args = 'newest'
try:
if categoria == 'series' or categoria == 'anime':
if category == 'tvshow' or category == 'anime':
item.args = 'update'
item.url = host+'/aggiornamenti-serie-tv/'
item.contentType = 'tvshow'
item.action = 'peliculas'
itemlist = peliculas(item)
item.action = 'movies'
itemlist = movies(item)
except:
import sys
for line in sys.exc_info():
@@ -168,13 +168,13 @@ def check(item):
item.contentType = 'tvshow'
item.args = 'serie'
item.data = data
return episodios(item)
return episodes(item)
elif ck == 'anime':
item.contentType = 'tvshow'
item.args = 'anime'
item.data = data
return episodios(item)
return episodes(item)
elif ck == 'film':
item.contentType = 'movie'
@@ -184,7 +184,7 @@ def check(item):
else:
item.contentType = 'tvshow'
item.data = data
itemlist = episodios(item)
itemlist = episodes(item)
if not itemlist:
item.contentType = 'movie'
item.data = data
+1 -1
View File
@@ -6,6 +6,6 @@
"thumbnail": "cinetecadibologna.png",
"banner": "cinetecadibologna.png",
"categories": ["documentary"],
"not_active":["include_in_newest_peliculas", "include_in_newest_series", "include_in_newest_anime"],
"not_active":["include_in_newest_movie", "include_in_newest_tvshow", "include_in_newest_anime"],
"settings": []
}
+3 -3
View File
@@ -22,7 +22,7 @@ def mainlist(item):
@support.scrape
def menu(item):
action = 'peliculas'
action = 'movies'
if 'epoche' in item.url:
patronMenu =r'<li>\s*<a href="(?P<url>[^"]+)">(?P<title>[^>]+)<'
elif 'percorsi' in item.url:
@@ -39,7 +39,7 @@ def search(item, text):
item.url = host + '/ricerca/type_ALL/ricerca_' + text
item.contentType = 'movie'
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -50,7 +50,7 @@ def search(item, text):
@support.scrape
def peliculas(item):
def movies(item):
if 'alfabetico' in item.url:
patron = r'<img src="(?P<thumb>[^"]+)"[^>]+>\s*[^>]+>\s*<div[^>]+>\s*<div[^>]+>[^>]+>\s*<a href="(?P<url>[^"]+)"[^>]+>(?:\[)?(?P<title>[^\]<]+)(?:\]|<)'
else:
+6 -6
View File
@@ -24,7 +24,7 @@ def Dict(item):
@support.menu
def mainlist(item):
top = [('Dirette {bold}', ['', 'live']),
('Programmi {bullet bold tv}', ['', 'peliculas', 'programmi']),
('Programmi {bullet bold tv}', ['', 'movies', 'programmi']),
('Generi {bullet bold tv}', ['', 'genres'])]
search = ''
@@ -51,7 +51,7 @@ def search(item, text):
item.args = 'search'
item.text = text
try:
itemlist = peliculas(item)
itemlist = movies(item)
except:
import sys
for line in sys.exc_info():
@@ -69,7 +69,7 @@ def live(item):
def genres(item):
item.action = 'peliculas'
item.action = 'movies'
itemlist = [
item.clone(title='Attualità e inchiesta', args='genere/attualita-e-inchiesta'),
item.clone(title='Beauty and style', args='genere/beauty-and-style'),
@@ -95,7 +95,7 @@ def genres(item):
return itemlist
def peliculas(item):
def movies(item):
logger.debug()
itemlist =[]
if 'search' in item.args:
@@ -122,7 +122,7 @@ def peliculas(item):
programid=key['attributes']['alternateId'],
id=key['id'],
seasons=seasons,
action='episodios',
action='episodes',
thumbnail=thumb,
fanart=fanart,
contentType='tvshow'))
@@ -130,7 +130,7 @@ def peliculas(item):
return itemlist
def episodios(item):
def episodes(item):
logger.debug()
itemlist =[]
pdict = session.get(api + '/cms/routes/programmi/{}?decorators=viewingHistory&include=default'.format(item.programid), headers=headers).json()['included']
+15 -15
View File
@@ -12,13 +12,13 @@ headers = [['Referer', host]]
@support.menu
def mainlist(item):
anime = ['/search?typeY=tv',
('Movie', ['/search?typeY=movie', 'peliculas', '', 'movie']),
('OAV', ['/search?typeY=oav', 'peliculas', '', 'tvshow']),
('Spinoff', ['/search?typeY=spinoff', 'peliculas', '', 'tvshow']),
('Movie', ['/search?typeY=movie', 'movies', '', 'movie']),
('OAV', ['/search?typeY=oav', 'movies', '', 'tvshow']),
('Spinoff', ['/search?typeY=spinoff', 'movies', '', 'tvshow']),
('Generi', ['','menu','Generi']),
('Stato', ['','menu','Stato']),
('Ultimi Episodi', ['', 'peliculas', ['last', 'episodiRecenti']]),
('Ultimi Aggiornamenti', ['', 'peliculas', ['last', 'episodiNuovi']])
('Ultimi Episodi', ['', 'movies', ['last', 'episodiRecenti']]),
('Ultimi Aggiornamenti', ['', 'movies', ['last', 'episodiNuovi']])
]
return locals()
@@ -27,7 +27,7 @@ def mainlist(item):
@support.scrape
def menu(item):
item.contentType = ''
action = 'peliculas'
action = 'movies'
patronBlock = r'<div class="filter-header"><b>%s</b>(?P<block>.*?)<div class="filter-box">' % item.args
patronMenu = r'<a class="[^"]+" data-state="[^"]+" (?P<other>[^>]+)>[^>]+></i>[^>]+></i>[^>]+></i>(?P<title>[^>]+)</a>'
@@ -49,7 +49,7 @@ def search(item, text):
item.url = host + '/search/' + text
item.args = 'search'
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -58,14 +58,14 @@ def search(item, text):
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
item = support.Item()
try:
if categoria == "anime":
if category == "anime":
item.url = host
item.args = ['last', 'episodiNuovi']
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -76,7 +76,7 @@ def newest(categoria):
@support.scrape
def peliculas(item):
def movies(item):
# debug = True
numerationEnabled = True
if 'movie' in item.url:
@@ -84,7 +84,7 @@ def peliculas(item):
action = 'findvideos'
else:
item.contentType = 'tvshow'
action = 'episodios'
action = 'episodes'
if len(item.args) > 1 and item.args[0] == 'last':
patronBlock = r'<div id="%s"[^>]+>(?P<block>.*?)<div class="vistaDettagliata"' % item.args[1]
@@ -102,7 +102,7 @@ def peliculas(item):
@support.scrape
def episodios(item):
def episodes(item):
numerationEnabled = True
pagination = True
@@ -123,7 +123,7 @@ def findvideos(item):
if not matches.matches and item.contentType != 'episode':
item.data = matches.data
item.contentType = 'tvshow'
return episodios(item)
return episodes(item)
if 'vvvvid' in matches.data:
itemlist.append(item.clone(action="play", title='VVVVID', url=support.match(matches.data, patron=r'(http://www.vvvvid[^"]+)').match, server='vvvvid'))
+11 -11
View File
@@ -11,7 +11,7 @@ host = config.get_channel_url()
@support.menu
def mainlist(item):
docu = [('Documentari {bullet bold}',('/elenco-documentari','peliculas')),
docu = [('Documentari {bullet bold}',('/elenco-documentari','movies')),
('Categorie {submenu documentary}',('','menu')),
('Cerca... {bullet bold documentary}',('','search')),]
return locals()
@@ -19,7 +19,7 @@ def mainlist(item):
@support.scrape
def menu(item):
action = 'peliculas'
action = 'movies'
patronMenu = r'<li class="menu-item menu-item-type-taxonomy[^>]+>\s*<a href="(?P<url>[^"]+)"[^>]+>(?P<title>[^<]+)<'
def fullItemlistHook(itemlist):
item_list = []
@@ -32,14 +32,14 @@ def menu(item):
return itemlist
return locals()
def newest(categoria):
def newest(category):
logger.debug()
item = Item()
try:
if categoria == "documentales":
if category == "documentales":
item.url = host + "/elenco-documentari"
item.action = "peliculas"
return peliculas(item)
item.action = "movies"
return movies(item)
# Continua la ricerca in caso di errore
except:
@@ -53,7 +53,7 @@ def search(item, texto):
logger.debug(texto)
item.url = host + "/?s=" + texto
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -63,7 +63,7 @@ def search(item, texto):
@support.scrape
def peliculas(item):
def movies(item):
blacklist = ['GUIDA PRINCIPIANTI Vedere film e documentari streaming gratis', 'Guida Dsda']
data = support.match(item).data
# debug =True
@@ -83,14 +83,14 @@ def peliculas(item):
title = support.re.sub(r'(?:[Ss]erie\s*|[Ss]treaming(?:\s*[Dd][Aa])?\s*|[Cc]ollezione\s*|[Rr]accolta\s*|[Dd]ocumentari(?:o)?\s*)?','',item.fulltitle).strip()
if 'serie' in item.fulltitle.lower():
item.contentType = 'tvshow'
item.action = 'episodios'
item.action = 'episodes'
item.contentSerieName = title
item.contentTitle = ''
elif 'collezion' in item.fulltitle.lower() or \
'raccolt' in item.fulltitle.lower() or \
'filmografia' in item.fulltitle.lower():
item.args = 'collection'
item.action = 'peliculas'
item.action = 'movies'
item.contentTitle = title
item.contentSerieName = ''
else:
@@ -113,7 +113,7 @@ def peliculas(item):
return locals()
@support.scrape
def episodios(item):
def episodes(item):
html = support.match(item, patron=r'class="title-episodio">(\d+x\d+)')
data = html.data
if html.match:
+9 -9
View File
@@ -20,17 +20,17 @@ headers = [['Referer', host]]
def mainlist(item):
tvshow = []
anime = ['/category/anime-cartoni-animati/']
mix = [('Aggiornamenti {bullet bold} {TV}', ['/aggiornamento-episodi/', 'peliculas', 'newest']),
('Archivio {bullet bold} {TV}', ['/category/serie-tv-archive/', 'peliculas'])]
mix = [('Aggiornamenti {bullet bold} {TV}', ['/aggiornamento-episodi/', 'movies', 'newest']),
('Archivio {bullet bold} {TV}', ['/category/serie-tv-archive/', 'movies'])]
search = ''
return locals()
@support.scrape
def peliculas(item):
def movies(item):
# debug = True
action = 'episodios'
action = 'episodes'
if item.args == 'newest':
item.contentType = 'episode'
@@ -43,7 +43,7 @@ def peliculas(item):
return locals()
@support.scrape
def episodios(item):
def episodes(item):
# debug = True
data = support.match(item, headers=headers).data
if 'clicca qui per aprire' in data.lower(): data = support.match(support.match(data, patron=r'"go_to":"([^"]+)"').match.replace('\\',''), headers=headers).data
@@ -65,7 +65,7 @@ def search(item, text):
item.contentType = 'tvshow'
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
@@ -75,7 +75,7 @@ def search(item, text):
return []
def newest(categoria):
def newest(category):
logger.debug()
itemlist = []
@@ -84,8 +84,8 @@ def newest(categoria):
item.args = 'newest'
try:
item.url = "%s/aggiornamento-episodi/" % host
item.action = "peliculas"
itemlist = peliculas(item)
item.action = "movies"
itemlist = movies(item)
# Continua la ricerca in caso di errore
except:
import sys
+1 -1
View File
@@ -6,6 +6,6 @@
"thumbnail": "fastsubita.png",
"banner": "fastsubita.png",
"categories": ["tvshow", "sub"],
"not_active": ["include_in_newest_peliculas", "include_in_newest_anime"],
"not_active": ["include_in_newest_movie", "include_in_newest_anime"],
"settings": []
}
+22 -22
View File
@@ -4,7 +4,7 @@
# ------------------------------------------------------------
"""
Su questo canale, nella categoria 'Ricerca Globale'
Su questo canale, nella category 'Ricerca Globale'
non saranno presenti le voci 'Aggiungi alla Videoteca'
e 'Scarica Film'/'Scarica Serie', dunque,
la loro assenza, nel Test, NON dovrà essere segnalata come ERRORE.
@@ -28,7 +28,7 @@ headers = [['Referer', host]]
def mainlist(item):
Tvshow = [
('Aggiornamenti', ['', 'peliculas', 'update']),
('Aggiornamenti', ['', 'movies', 'update']),
('Cerca... {bold}{TV}', ['', 'search'])
]
@@ -38,25 +38,25 @@ def mainlist(item):
@support.scrape
def peliculas(item):
def movies(item):
deflang = 'Sub-ITA'
# è una singola pagina con tutti gli episodi
if item.grouped and not support.scrapertools.find_single_match(item.url, '-[0-9]+x[0-9]+-'):
item.grouped = False
return episodios_args(item)
return episodes_args(item)
# ogni puntata è un articolo a se
if item.fulltitle:
item.url = host + '?s=' + item.fulltitle
actLike = 'episodios'
actLike = 'episodes'
action = 'findvideos'
blacklist = ['']
if item.args == 'genres':
patronBlock = r'<h4 id="mctm1-.">'+item.fulltitle+'</h4>(?P<block>.+?)</div>'
patron = r'[^>]+>[^>]+>.+?href="(?P<url>[^"]+)[^>]>(?P<title>[^<]+)\s<'
action = 'episodios'
action = 'episodes'
elif item.args == 'search':
group = True
patronBlock = r'</header>(?P<block>.*?)</main>'
@@ -64,7 +64,7 @@ def peliculas(item):
else:
# è una singola pagina con tutti gli episodi
if item.args != 'update' and not support.scrapertools.find_single_match(item.url, '-[0-9]+x[0-9]+-'):
return episodios_args(item)
return episodes_args(item)
patron = r'<div class="featured-thumb"> +<a href="(?P<url>[^"]+)" title="(?P<title>[^[]+)\[(?P<episode>\d+&#215;\d+)?'
patronBlock = r'<main id="main"[^>]+>(?P<block>.*?)<div id="secondary'
@@ -78,8 +78,8 @@ def peliculas(item):
return locals()
def episodios_args(item):
actLike = 'episodios'
def episodes_args(item):
actLike = 'episodes'
deflang = 'Sub-ITA'
action = 'findvideos'
@@ -92,15 +92,15 @@ def episodios_args(item):
@support.scrape
def episodios(item):
return episodios_args(item)
def episodes(item):
return episodes_args(item)
@support.scrape
def genres(item):
logger.debug()
action = 'peliculas'
action = 'movies'
patronBlock = r'<div id="mcTagMapNav">(?P<block>.+?)</div>'
patron = r'<a href="(?P<url>[^"]+)">(?P<title>.+?)</a>'
@@ -120,7 +120,7 @@ def search(item, text):
try:
item.args = 'search'
item.contentType = 'tvshow'
return peliculas(item)
return movies(item)
# Se captura la excepcion, para no interrumpir al buscador global si un canal falla
except:
import sys
@@ -129,19 +129,19 @@ def search(item, text):
return []
def newest(categoria):
logger.debug('newest ->', categoria)
def newest(category):
logger.debug('newest ->', category)
itemlist = []
item = Item()
if categoria == 'series':
if category == 'tvshow':
try:
item.contentType = 'tvshow'
item.args = 'newest'
item.url = host
item.action = 'peliculas'
itemlist = peliculas(item)
item.action = 'movies'
itemlist = movies(item)
if itemlist[-1].action == 'peliculas':
if itemlist[-1].action == 'movies':
itemlist.pop()
# Continua la ricerca in caso di errore
except:
@@ -170,14 +170,14 @@ def findvideos(item):
resp = httptools.downloadpage(scrapedurl, follow_redirects=False)
data += resp.headers.get("location", "") + '\n'
elif not support.scrapertools.find_single_match(item.url, '-[0-9]+x[0-9]+-'):
return episodios(item)
return episodes(item)
else:
patronBlock = '<div class="entry-content">(?P<block>.*)<footer class="entry-footer">'
html = support.match(item, patron=patron, patronBlock=patronBlock, headers=headers)
matches = html.matches
data= html.data
if item.args != 'episodios':
if item.args != 'episodes':
item.infoLabels['mediatype'] = 'episode'
for scrapedurl in matches:
if 'is.gd' in scrapedurl:
@@ -200,7 +200,7 @@ def findvideos(item):
# contentType='tvshow',
# contentSerieName=series,
# url=host+"/serietv/"+series,
# action='episodios',
# action='episodes',
# contentTitle=titles,
# plot = "Vai alla Serie " + titles + " con tutte le puntate",
# ))
+1 -1
View File
@@ -6,6 +6,6 @@
"thumbnail": "film4k.png",
"banner": "film4k.png",
"categories": ["tvshow", "movie", "anime"],
"not_active": ["include_in_newest_peliculas", "include_in_newest_anime", "include_in_newest_series"],
"not_active": ["include_in_newest_movie", "include_in_newest_anime", "include_in_newest_tvshow"],
"settings": []
}
+9 -9
View File
@@ -20,11 +20,11 @@ def mainlist(item):
('Qualità', ['', 'menu', 'quality']),
('Generi', ['movies', 'menu', 'genres']),
('Anno', ['movies', 'menu', 'releases']),
('Più popolari', ['trending/?get=movies', 'peliculas']),
('Più votati', ['ratings/?get=movies', 'peliculas'])]
('Più popolari', ['trending/?get=movies', 'movies']),
('Più votati', ['ratings/?get=movies', 'movies'])]
tvshow = ['/tvshows',
('Più popolari', ['trending/?get=tv', 'peliculas']),
('Più votati', ['ratings/?get=tv', 'peliculas'])]
('Più popolari', ['trending/?get=tv', 'movies']),
('Più votati', ['ratings/?get=tv', 'movies'])]
return locals()
@@ -41,14 +41,14 @@ def search(item, text):
def peliculas(item):
def movies(item):
if 'anime' in item.url:
return support.dooplay_peliculas(item, True)
return support.dooplay_movies(item, True)
else:
return support.dooplay_peliculas(item, False)
return support.dooplay_movies(item, False)
def episodios(item):
def episodes(item):
itemlist = support.dooplay_get_episodes(item)
return itemlist
@@ -72,7 +72,7 @@ def findvideos(item):
@support.scrape
def menu(item):
action = 'peliculas'
action = 'movies'
if item.args in ['genres','releases']:
patronBlock = r'<nav class="' + item.args + r'">(?P<block>.*?)</nav'
patronMenu= r'<a href="(?P<url>[^"]+)"[^>]*>(?P<title>[^<]+)<'
+2 -2
View File
@@ -8,7 +8,7 @@
"categories": ["movie","tvshow"],
"settings": [
{
"id": "include_in_newest_peliculas",
"id": "include_in_newest_movie",
"type": "bool",
"label": "@70727",
"default": false,
@@ -16,7 +16,7 @@
"visible": false
},
{
"id": "include_in_newest_series",
"id": "include_in_newest_tvshow",
"type": "bool",
"label": "@70727",
"default": false,
+14 -14
View File
@@ -28,7 +28,7 @@ headers = [['Referer', host]]
@support.menu
def mainlist(item):
film = [
('Al Cinema ', ['', 'peliculas', 'cinema']),
('Al Cinema ', ['', 'movies', 'cinema']),
('Categorie', ['', 'genres', 'genres']),
]
@@ -40,7 +40,7 @@ def mainlist(item):
return locals()
@support.scrape
def peliculas(item):
def movies(item):
if item.args == 'search':
action = ''
@@ -65,7 +65,7 @@ def peliculas(item):
patronNext = '<a class="page-link" href="([^"]+)">>>'
else:
action = 'episodios'
action = 'episodes'
patron = r'<div class="cnt">\s.*?src="([^"]+)".+?title="((?P<title>.+?)(?:[ ]\[(?P<lang>Sub-ITA|SUB-ITA)\])?(?:[ ]\[(?P<quality>.*?)\])?(?:[ ]\((?P<year>\d+)\))?)"\s*[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>\s+<a href="(?P<url>[^"]+)"'
## if item.args == 'search':
## patron = r'<div class="cnt">.*?src="([^"]+)".+?[^>]+>[^>]+>[^>]+>\s+((?P<title>.+?)(?:[ ]\[(?P<lang>Sub-ITA|SUB-ITA)\])?(?:[ ]\[(?P<quality>.*?)\])?(?:[ ]\((?P<year>\d+)\))?)\s+<[^>]+>[^>]+>[^>]+>[ ]<a href="(?P<url>[^"]+)"'
@@ -74,7 +74,7 @@ def peliculas(item):
def itemHook(item):
if item.args == 'search':
if 'series' in item.url:
item.action = 'episodios'
item.action = 'episodes'
item.contentType = 'tvshow'
else:
item.action = 'findvideos'
@@ -86,7 +86,7 @@ def peliculas(item):
@support.scrape
def episodios(item):
def episodes(item):
action = 'findvideos'
patronBlock = r'<div class="row">(?P<block>.*?)<section class="main-content">'
patron = r'href="(?P<url>.*?)">(?:.+?)?\s+S(?P<season>\d+)\s\-\sEP\s(?P<episode>\d+)[^<]+<'
@@ -96,12 +96,12 @@ def episodios(item):
@support.scrape
def genres(item):
if item.contentType == 'movie':
action = 'peliculas'
action = 'movies'
patron = r'<a href="(?P<url>.*?)">(?P<title>.*?)<'
patronBlock = r'CATEGORIES.*?<ul>(?P<block>.*?)</ul>'
else:
item.contentType = 'tvshow'
action = 'peliculas'
action = 'movies'
blacklist = ['Al-Cinema']
patron = r'<a href="(?P<url>.*?)">(?P<title>.*?)<'
patronBlock = r'class="material-button submenu-toggle"> SERIE TV.*?<ul>.*?</li>(?P<block>.*?)</ul>'
@@ -116,7 +116,7 @@ def search(item, text):
item.url = host + '/search/?s=' + text
try:
item.args = 'search'
return peliculas(item)
return movies(item)
# Se captura la excepcion, para no interrumpir al buscador global si un canal falla
except:
import sys
@@ -124,18 +124,18 @@ def search(item, text):
logger.error('search log:', line)
return []
def newest(categoria):
logger.debug('newest ->', categoria)
def newest(category):
logger.debug('newest ->', category)
itemlist = []
item = Item()
try:
if categoria == 'peliculas':
if category == 'movie':
item.url = host
item.contentType = 'movie'
item.action = 'peliculas'
itemlist = peliculas(item)
item.action = 'movies'
itemlist = movies(item)
if itemlist[-1].action == 'peliculas':
if itemlist[-1].action == 'movies':
itemlist.pop()
# Continua la ricerca in caso di errore
except:
+13 -13
View File
@@ -22,7 +22,7 @@ def mainlist(item):
]
tvshow = ['/category/serie-tv/',
('Aggiornamenti', ['/aggiornamenti-serie-tv/', 'peliculas', 'newest']),
('Aggiornamenti', ['/aggiornamenti-serie-tv/', 'movies', 'newest']),
('Per Lettera', ['/category/serie-tv/', 'genres', 'lettersS'])
]
@@ -31,7 +31,7 @@ def mainlist(item):
@support.scrape
def peliculas(item):
def movies(item):
if item.args != 'newest':
patronBlock = r'<ul class="posts">(?P<block>.*)<\/ul>'
@@ -44,7 +44,7 @@ def peliculas(item):
if item.args == 'search':
action = 'check'
elif item.contentType == 'tvshow':
action = 'episodios'
action = 'episodes'
elif item.contentType == 'movie':
action ='findvideos'
else:
@@ -57,7 +57,7 @@ def peliculas(item):
return locals()
@support.scrape
def episodios(item):
def episodes(item):
# debug=True
data = support.match(item.url, headers=headers).data
if 'accordion-item' in data:
@@ -84,7 +84,7 @@ def genres(item):
else:
item.contentType = 'tvshow'
action = 'peliculas'
action = 'movies'
patronBlock = r'<select class="cats">(?P<block>.*?)<\/select>'
patronGenreMenu = r'<option data-src="(?P<url>[^"]+)">(?P<title>[^<]+)<\/option>'
@@ -98,7 +98,7 @@ def check(item):
if block.lower() != 'film':
logger.debug('### è una Serie ###')
item.contentType='tvshow'
return episodios(item)
return episodes(item)
else:
logger.debug(' ### è un Film ###')
item.contentType='movie'
@@ -110,7 +110,7 @@ def search(item, texto):
item.url = host + "/?s=" + texto
item.args = 'search'
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -119,23 +119,23 @@ def search(item, texto):
return []
def newest(categoria):
def newest(category):
logger.debug()
itemlist = []
item = Item()
try:
if categoria == "peliculas":
if category == "movie":
item.url = host + "/category/film/"
item.action = "peliculas"
item.action = "movies"
item.extra = "movie"
item.contentType = 'movie'
itemlist = peliculas(item)
itemlist = movies(item)
else:
item.url = host + "/aggiornamenti-serie-tv/"
item.action = "peliculas"
item.action = "movies"
item.args = "newest"
item.contentType = 'tvshow'
itemlist = peliculas(item)
itemlist = movies(item)
# Continua la ricerca in caso di errore
except:
+5 -5
View File
@@ -28,20 +28,20 @@ def mainlist(item):
@support.scrape
def list(item):
patronMenu = r'<a title="(?P<title>[^"]+)" href="(?P<url>[^"]+)'
action = 'peliculas'
action = 'movies'
return locals()
@support.scrape
def peliculas(item):
def movies(item):
patron = r'<div class="mlnh-thumb"><a href="(?P<url>[^"]+).*?title="(?P<title>[^"]+).*?src="(?P<thumb>[^"]+).*?hdn">(?P<year>[0-9]{4})'
patronNext = 'pagenavi.*?<span>.</span>.*?<a href="([^"]+)'
action = 'episodios'
action = 'episodes'
return locals()
@support.scrape
def episodios(item):
def episodes(item):
patronBlock = r'<div class="tab-pane fade" id="season-(?P<season>.)"(?P<block>.*?)</div>'
patron = r'<a href="#" allowfullscreen data-link="(?P<url>[^"]+).*?title="(?P<title>[^"]+)(?P<lang>[sS][uU][bB]-?[iI][tT][aA])?\s*">(?P<episode>[^<]+)'
action = 'findvideos'
@@ -56,7 +56,7 @@ def search(item, text):
text = text.replace(' ', '+')
item.url = host + '/index.php?story=%s&do=search&subaction=search' % (text)
try:
return peliculas(item)
return movies(item)
except:
import sys
for line in sys.exc_info():
+2 -2
View File
@@ -6,10 +6,10 @@
"thumbnail": "guardaserieclick.png",
"bannermenu": "guardaserieclick.png",
"categories": ["tvshow", "anime"],
"not_active": ["include_in_newest_peliculas", "include_in_newest_anime"],
"not_active": ["include_in_newest_movie", "include_in_newest_anime"],
"settings": [
{
"id": "include_in_newest_peliculas",
"id": "include_in_newest_movie",
"type": "bool",
"label": "@70727",
"default": false,
+16 -16
View File
@@ -25,21 +25,21 @@ headers = [['Referer', host]]
@support.menu
def mainlist(item):
tvshow = ['',
('Aggiornamenti', ['', 'peliculas', 'update']),
('Aggiornamenti', ['', 'movies', 'update']),
('Generi', ['', 'genres', 'genres']),
('News Sub-ITA', ['', 'peliculas', 'ined']),
('Anime/Cartoni', ["/category/animazione/", 'peliculas', 'genres'])
('News Sub-ITA', ['', 'movies', 'ined']),
('Anime/Cartoni', ["/category/animazione/", 'movies', 'genres'])
]
return locals()
##@support.scrape
##def peliculas(item):
##def movies(item):
#### import web_pdb; web_pdb.set_trace()
## logger.debug('peliculas ->\n', item)
## logger.debug('movies ->\n', item)
##
## action = 'episodios'
## action = 'episodes'
## block = r'(?P<block>.*?)<div\s+class="btn btn-lg btn-default btn-load-other-series">'
##
## if item.args == 'ined':
@@ -72,11 +72,11 @@ def mainlist(item):
## return locals()
@support.scrape
def peliculas(item):
def movies(item):
## import web_pdb; web_pdb.set_trace()
logger.debug('peliculas ->\n', item)
logger.debug('movies ->\n', item)
action = 'episodios'
action = 'episodes'
blacklist = ['DMCA']
if item.args == 'genres' or item.args == 'search':
@@ -118,7 +118,7 @@ def peliculas(item):
@support.scrape
def episodios(item):
def episodes(item):
logger.debug()
action = 'findvideos'
@@ -137,7 +137,7 @@ def episodios(item):
def genres(item):
logger.debug()
action = 'peliculas'
action = 'movies'
patronMenu = r'<li>\s<a\shref="(?P<url>[^"]+)"[^>]+>(?P<title>[^<]+)</a></li>'
patron_block = r'<ul\sclass="dropdown-menu category">(?P<block>.*?)</ul>'
# debug = True
@@ -150,7 +150,7 @@ def search(item, text):
item.contentType = 'tvshow'
item.args = 'search'
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -159,17 +159,17 @@ def search(item, text):
return []
def newest(categoria):
def newest(category):
logger.debug()
itemlist = []
item = Item()
item.contentType = 'tvshow'
item.args = 'update'
try:
if categoria == "series":
if category == 'tvshow':
item.url = host
item.action = "peliculas"
itemlist = peliculas(item)
item.action = "movies"
itemlist = movies(item)
# Continua la ricerca in caso di errore
except:
+4 -4
View File
@@ -26,15 +26,15 @@ def mainlist(item):
return locals()
@support.scrape
def peliculas(item):
def movies(item):
patronBlock = r'movies-list movies-list-full(?P<block>.*?)footer>'
patron = r'<div data-movie-id[^>]+>\s*<a href="(?P<url>[^"]+)"[^>]+>[^>]+>[^>]+><img src="(?P<thumbnail>[^"]+)[^>]+>[^>]+>[^>]+>[^>]+>(?P<title>[^<]+).*?jt-info[^>]+>[^:]+:\s*(?P<rating>[^<]+)[^>]+>[^>]+>[^>]+>(?P<year>\d*)[^>]+>[^>]+>[^>]+>(?P<duration>\d*)'
patronNext = '<li class=.active.>.*?href=.(.*?).>'
action = 'episodios'
action = 'episodes'
return locals()
@support.scrape
def episodios(item):
def episodes(item):
patronBlock = r'<strong>Stagione (?P<season>[0-9]+)(?P<block>.*?)</div></div>'
patron = r'<a href="(?P<url>[^"]+)">\s*Episodio\s*(?P<episode>[0-9]+)'
return locals()
@@ -45,7 +45,7 @@ def search(item, text):
item.url = host + "/?s=" + text
try:
item.args = 'search'
return peliculas(item)
return movies(item)
except:
import sys
for line in sys.exc_info():
+3 -3
View File
@@ -20,7 +20,7 @@ def mainlist(item):
@support.scrape
def peliculas(item):
def movies(item):
# debug = True
if item.args == 'alternative':
pagination = True
@@ -33,7 +33,7 @@ def peliculas(item):
@support.scrape
def genre(item):
action = 'peliculas'
action = 'movies'
blacklist =['prova ']
patronGenreMenu = r'<a href="(?P<url>[^"]+)" class="menu-link\s*sub-menu-link">(?P<title>[^<]+)<'
def itemHook(item):
@@ -47,7 +47,7 @@ def search(item, text):
logger.debug(text)
item.url = host + '/?s=' + text
try:
return peliculas(item)
return movies(item)
# Cattura la eccezione così non interrompe la ricerca globle se il canale si rompe!
except:
import sys
+11 -11
View File
@@ -21,22 +21,22 @@ headers = [['Referer', host]]
def mainlist(item):
menu = [
('BDRiP {film}', ['/categoria.php?active=0&category=1&order=data&by=DESC&page=', 'peliculas', [0, 'movie', True], 'undefined']),
('BDRiP {film}', ['/categoria.php?active=0&category=1&order=data&by=DESC&page=', 'movies', [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']),
('DVD {film}', ['/categoria.php?active=0&category=20&order=data&by=DESC&page=', 'movies', [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']),
('Screener {film}', ['/categoria.php?active=0&category=19&order=data&by=DESC&page=', 'movies', [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']),
('Serie TV', ['/categoria.php?active=0&category=15&order=data&by=DES&page=', 'movies', [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']),
('Anime', ['/categoria.php?active=0&category=5&order=data&by=DESC&page=', 'movies', [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']),
('Musica', ['/categoria.php?active=0&category=2&order=data&by=DESC&page=', 'movies', [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']),
('Audiolibri {musica}', ['/categoria.php?active=0&category=18&order=data&by=DESC&page=', 'movies', [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]]),
# ('Altro {film}', ['/categoria.php?active=0&category=4&order=data&by=DESC&page=', 'movies', [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]])
]
@@ -45,7 +45,7 @@ def mainlist(item):
@support.scrape
def peliculas(item):
def movies(item):
# debug = True
sceneTitle = item.args[2]
if item.args[1] in ['tvshow', 'anime', 'music', 'other']:
@@ -59,7 +59,7 @@ def peliculas(item):
def itemlistHook(itemlist):
args = item.args
args[0] += 1
support.nextPage(itemlist, item, next_page=item.url, "peliculas")
support.nextPage(itemlist, item, next_page=item.url, "movies")
# itemlist.append(item.clone(title=support.typo(support.config.get_localized_string(30992), 'color kod bold'), args=args, thumbnail=support.thumb()))
return itemlist
return locals()
@@ -72,7 +72,7 @@ def search(item, text):
else:
item.url += text + '.html'
try:
return peliculas(item)
return movies(item)
# Cattura la eccezione così non interrompe la ricerca globle se il canale si rompe!
except:
import sys
+20 -20
View File
@@ -19,14 +19,14 @@ def mainlist(item):
('Generi',['', 'genres', 'genres']),
('Per Lettera',['/film-a-z/', 'genres', 'letter']),
('Anni',['', 'genres', 'year']),
('Popolari',['/trending/?get=movies', 'peliculas', 'populared']),
('Più Votati', ['/ratings/?get=movies', 'peliculas', 'populared'])
('Popolari',['/trending/?get=movies', 'movies', 'populared']),
('Più Votati', ['/ratings/?get=movies', 'movies', 'populared'])
]
tvshow = ['/serie/',
('Aggiornamenti', ['/aggiornamenti-serie/', 'peliculas', 'update']),
('Popolari',['/trending/?get=tv', 'peliculas', 'populared']),
('Più Votati', ['/ratings/?get=tv', 'peliculas', 'populared'])
('Aggiornamenti', ['/aggiornamenti-serie/', 'movies', 'update']),
('Popolari',['/trending/?get=tv', 'movies', 'populared']),
('Più Votati', ['/ratings/?get=tv', 'movies', 'populared'])
]
@@ -34,7 +34,7 @@ def mainlist(item):
]
Tvshow = [
('Show TV {bullet bold}', ['/tv-show/', 'peliculas', '', 'tvshow'])
('Show TV {bullet bold}', ['/tv-show/', 'movies', '', 'tvshow'])
]
search = ''
@@ -43,7 +43,7 @@ def mainlist(item):
@support.scrape
def peliculas(item):
def movies(item):
logger.debug()
# debugBlock = True
# debug=True
@@ -53,7 +53,7 @@ def peliculas(item):
patron = r'<img src="(?P<thumb>[^"]+)" alt="[^"]+" ?/?>[^>]+>(?P<type>[^<]+)</span>.*?<a href="(?P<url>[^"]+)">(?P<title>.+?)[ ]?(?:\[(?P<lang>Sub-ITA)\])?</a>[^>]+>[^>]+>(?:<span class="rating">IMDb\s*(?P<rating>[^>]+)</span>)?.?(?:<span class="year">(?P<year>[0-9]+)</span>)?.*?<p>(?P<plot>.*?)</p>'
typeContentDict={'movie': ['film'], 'tvshow': ['tv']}
typeActionDict={'findvideos': ['film'], 'episodios': ['tv']}
typeActionDict={'findvideos': ['film'], 'episodes': ['tv']}
else:
if item.contentType == 'movie':
@@ -75,7 +75,7 @@ def peliculas(item):
patron = r'<div class="poster">\s?<a href="(?P<url>[^"]+)"><img src="(?P<thumb>[^"]+)" alt="[^"]+"><\/a>[^>]+>[^>]+>[^>]+>\s*(?P<rating>[0-9.]+)<\/div>(?:<span class="quality">(?:SUB-ITA|)?(?P<quality>|[^<]+)?<\/span>)?[^>]+>[^>]+>[^>]+>[^>]+>(?P<title>.+?)[ ]?(?:\[(?P<lang>Sub-ITA)\])?<\/a>[^>]+>[^>]+>(?P<year>[^<]+)<\/span>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>(?P<plot>[^<]+)<div'
else:
# TVSHOW
action = 'episodios'
action = 'episodes'
if item.args == 'update':
action = 'findvideos'
patron = r'<div class="poster"><img src="(?P<thumb>[^"]+)"(?:[^>]+>){2}<a href="(?P<url>[^"]+)">[^>]+>(?P<episode>[\d\-x]+)(?:[^>]+>){4}(?P<title>.+?)(?:\[(?P<lang>[SsuUbBiItTaA-]{7})\])?<(?:[^>]+>){4}(?P<quality>[HDWEBRIP-]+)?(?:.+?)?/span><p class="serie"'
@@ -93,10 +93,10 @@ def peliculas(item):
@support.scrape
def episodios(item):
def episodes(item):
logger.debug()
patronBlock = r'<h1>.*?[ ]?(?:\[(?P<lang>.+?\]))?</h1>.+?<div class="se-a" style="display:block">\s*<ul class="episodios">(?P<block>.*?)</ul>\s*</div>\s*</div>\s*</div>\s*</div>\s*</div>'
patronBlock = r'<h1>.*?[ ]?(?:\[(?P<lang>.+?\]))?</h1>.+?<div class="se-a" style="display:block">\s*<ul class="episodes">(?P<block>.*?)</ul>\s*</div>\s*</div>\s*</div>\s*</div>\s*</div>'
patron = r'<a href="(?P<url>[^"]+)"><img src="(?P<thumb>[^"]+)">.*?'\
'<div class="numerando">(?P<episode>[^<]+).*?<div class="episodiotitle">'\
'[^>]+>(?P<title>[^<]+)<\/a>'
@@ -108,7 +108,7 @@ def episodios(item):
def genres(item):
logger.debug(item)
action='peliculas'
action='movies'
if item.args == 'genres':
patronBlock = r'<div class="sidemenu"><h2>Genere</h2>(?P<block>.*?)/li></ul></div>'
elif item.args == 'year':
@@ -130,7 +130,7 @@ def search(item, text):
item.url = host + '/?' + uuid.uuid4().hex + '=' + uuid.uuid4().hex + '&s=' + text
try:
item.args = 'search'
return peliculas(item)
return movies(item)
except:
import sys
for line in sys.exc_info():
@@ -138,24 +138,24 @@ def search(item, text):
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = Item()
if categoria == 'peliculas':
if category == 'movie':
item.contentType = 'movie'
item.url = host + '/film/'
elif categoria == 'series':
elif category == 'tvshow':
item.args = 'update'
item.contentType = 'tvshow'
item.url = host + '/aggiornamenti-serie/'
## elif categoria == 'anime':
## elif category == 'anime':
## item.contentType = 'tvshow'
## item.url = host + '/anime/'
try:
item.action = 'peliculas'
itemlist = peliculas(item)
item.action = 'movies'
itemlist = movies(item)
except:
import sys
+9 -9
View File
@@ -14,7 +14,7 @@ headers = [['Referer', host]]
@support.menu
def mainlist(item):
film = ['/film/',
('In Sala', ['', 'peliculas', 'sala']),
('In Sala', ['', 'movies', 'sala']),
('Generi',['', 'genres', 'genres']),
('Per Lettera',['/catalog/all', 'genres', 'az']),
('Anni',['', 'genres', 'year'])]
@@ -23,7 +23,7 @@ def mainlist(item):
@support.scrape
def peliculas(item):
def movies(item):
if item.args == 'sala':
patronBlock = r'insala(?P<block>.*?)<header>'
patron = r'<img src="(?P<thumb>[^"]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>\s*(?P<rating>[^<]+)[^>]+>[^>]+>(?P<quality>[^<]+)[^>]+>[^>]+>[^>]+>[^>]+><a href="(?P<url>[^"]+)">(?P<title>[^<]+)[^>]+>[^>]+>[^>]+>(?P<year>\d{4})'
@@ -39,7 +39,7 @@ def peliculas(item):
@support.scrape
def genres(item):
action='peliculas'
action='movies'
if item.args == 'genres':
patronBlock = r'<div class="sidemenu">\s*<h2>Genere</h2>(?P<block>.*?)</ul'
elif item.args == 'year':
@@ -57,7 +57,7 @@ def search(item, text):
text = text.replace(' ', '+')
item.url = host + "/search/" + text
try:
return peliculas(item)
return movies(item)
except:
import sys
for line in sys.exc_info():
@@ -65,17 +65,17 @@ def search(item, text):
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = Item()
if categoria == 'peliculas':
if category == 'movie':
item.contentType = 'movie'
item.url = host + '/film/'
try:
item.action = 'peliculas'
itemlist = peliculas(item)
item.action = 'movies'
itemlist = movies(item)
except:
import sys
+1 -1
View File
@@ -6,6 +6,6 @@
"thumbnail": "italiaserie.png",
"bannermenu": "italiaserie.png",
"categories": ["tvshow", "sub"],
"not_active": ["include_in_newest_peliculas", "include_in_newest_anime"],
"not_active": ["include_in_newest_movie", "include_in_newest_anime"],
"settings": []
}
+15 -15
View File
@@ -15,26 +15,26 @@ headers = [['Referer', host]]
@support.menu
def mainlist(item):
tvshow = ['',
('Aggiornamenti', ['/aggiornamento-episodi/', 'peliculas', 'update']),
('Top 10', ['/top-10', 'peliculas', 'top']),
('Netflix {tv submenu}', ['/genere/netflix', 'peliculas'])
('Aggiornamenti', ['/aggiornamento-episodi/', 'movies', 'update']),
('Top 10', ['/top-10', 'movies', 'top']),
('Netflix {tv submenu}', ['/genere/netflix', 'movies'])
]
return locals()
@support.scrape
def peliculas(item):
def movies(item):
# debug=True
blacklist = ['Aggiornamento Episodi']
action = 'episodios'
action = 'episodes'
patron = r'<div class="post-thumb">\s*<a href="(?P<url>[^"]+)" title="(?P<title>[^"\[]+)[^>]+>\s*<img src="(?P<thumb>[^"]+)"[^>]+>'
if item.args == 'update':
pagination = True
#patron = r'br />(?:[^>]+>)?(?P<title>[^]+)[^<]+<a href="(?P<url>[^"]+)">(?P<episode>[^ ]+)\s*(?P<title2>[^\(<]+)(?:\((?P<lang>[^\)]+))?'
patron = r'br[\s/]*>(?:\s*<[^>]+>)*(?P<title>[^<]+)[^<]+<a href="(?P<url>[^"]+)"[^>]*>(?:[^,]{0,80}[, ]{2})*(?P<episode>[\S]+)\s*(?P<title2>[^\(<]+)(?:\((?P<lang>[^\)]+))?'
action = 'episodios'
action = 'episodes'
if item.args == 'top':
patron = r'<a href="(?P<url>[^"]+)">(?P<title>[^<]+)</a>(?:[^>]+>){3}<img.*?src="(?P<thumb>[^"]+)"[^>]+>(?:[^>]+>){5}:\s*(?P<rating>[^/]+)'
if item.args =='a-z':
@@ -50,7 +50,7 @@ def peliculas(item):
@support.scrape
def episodios(item):
def episodes(item):
res = support.match(item, patron=r'<a href="([^"]+)">&gt;')
if res.match: data = support.match(res.match).data
else: data = res.data
@@ -66,7 +66,7 @@ def episodios(item):
@support.scrape
def category(item):
action = 'peliculas'
action = 'movies'
patron = r'<li class="cat-item.*?href="(?P<url>[^"]+)".*?>(?P<title>.*?)</a>'
return locals()
@@ -76,7 +76,7 @@ def search(item, text):
item.url = host + "/?s=" + text
item.contentType = 'tvshow'
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -85,19 +85,19 @@ def search(item, text):
return []
def newest(categoria):
logger.debug("newest", categoria)
def newest(category):
logger.debug("newest", category)
itemlist = []
item = Item()
try:
if categoria == "series":
if category == 'tvshow':
item.url = host + "/aggiornamento-episodi/"
item.action = "peliculas"
item.action = "movies"
item.args = "update"
item.contentType = "episode"
itemlist = peliculas(item)
itemlist = movies(item)
if itemlist[-1].action == "peliculas":
if itemlist[-1].action == "movies":
itemlist.pop()
# Continua la ricerca in caso di errore
+6 -6
View File
@@ -27,8 +27,8 @@ def mainlist(item):
top = [('Dirette {bold}', ['', 'live']),
('Replay {bold}', ['', 'replay_channels'])]
menu = [('Programmi TV {bullet bold}', ['/tutti-i-programmi', 'peliculas', '', 'tvshow']),
('Teche La7 {bullet bold}', ['/i-protagonisti', 'peliculas', '', 'tvshow'])]
menu = [('Programmi TV {bullet bold}', ['/tutti-i-programmi', 'movies', '', 'tvshow']),
('Teche La7 {bullet bold}', ['/i-protagonisti', 'movies', '', 'tvshow'])]
search = ''
return locals()
@@ -74,7 +74,7 @@ def search(item, text):
item.url = host + '/tutti-i-programmi'
item.search = text
try:
return peliculas(item)
return movies(item)
except:
import sys
for line in sys.exc_info():
@@ -83,12 +83,12 @@ def search(item, text):
@support.scrape
def peliculas(item):
def movies(item):
search = item.search
tmdbEnabled = False
videlibraryEnabled = False
downloadEnabled = False
action = 'episodios'
action = 'episodes'
patron = r'<a href="(?P<url>[^"]+)"[^>]+><div class="[^"]+" data-background-image="(?P<t>[^"]+)"></div><div class="titolo">\s*(?P<title>[^<]+)<'
def itemHook(item):
logger.debug(item)
@@ -99,7 +99,7 @@ def peliculas(item):
@support.scrape
def episodios(item):
def episodes(item):
data = support.match(item).data
# debug = True
action = 'play'
+7 -7
View File
@@ -45,7 +45,7 @@ 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']),
menu = [('Film {bullet bold}', ['/cinema', 'movies', {'uxReference':'filmUltimiArrivi'}, 'movie']),
('Fiction / Serie TV {bullet bold}', ['/fiction', 'menu', '5acfcb3c23eec6000d64a6a4', 'tvshow']),
('Programmi TV{ bullet bold}', ['/programmitv', 'menu', '5acfc8011de1c4000b6ec953', 'tvshow']),
('Documentari {bullet bold}', ['/documentari', 'menu', '5bfd17c423eec6001aec49f9', 'undefined']),
@@ -63,7 +63,7 @@ def menu(item):
itemlist.append(item.clone(title=support.typo(it['title'], 'bullet bold'),
url= it['landingUrl'],
args={'uxReference':it.get('uxReferenceV2', ''), 'params':it.get('uxReferenceV2Params', ''), 'feed':it.get('feedurlV2','')},
action='peliculas'))
action='movies'))
return itemlist
@@ -98,7 +98,7 @@ def search(item, text):
item.args = {'uxReference':'main', 'params':'channel≈', 'query':text}
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -107,7 +107,7 @@ def search(item, text):
return []
def peliculas(item):
def movies(item):
itemlist = []
res = get_programs(item)
video_id= ''
@@ -181,13 +181,13 @@ def epmenu(item):
item.clone(seriesid = '',
title=support.typo(it['description'], 'bold'),
subbrand=it['mediasetprogram$subBrandId'],
action='episodios'))
action='episodes'))
itemlist = sorted(itemlist, key=lambda it: it.title, reverse=True)
if len(itemlist) == 1: return episodios(itemlist[0])
if len(itemlist) == 1: return episodes(itemlist[0])
return itemlist
def episodios(item):
def episodes(item):
# create month list
months = []
try:
+6 -6
View File
@@ -100,7 +100,7 @@ def search(item, text):
item.search = text
try:
itemlist = peliculas(item)
itemlist = movies(item)
except:
import sys
for line in sys.exc_info():
@@ -117,7 +117,7 @@ def menu(item):
for it in json:
logger.debug(jsontools.dump(it))
if 'uxReference' in it: itemlist.append(
item.clone(title=support.typo(it['title'], 'bullet bold'), url= it['landingUrl'], feed = it.get('feedurlV2',''), ref=it['uxReference'], args='', action='peliculas'))
item.clone(title=support.typo(it['title'], 'bullet bold'), url= it['landingUrl'], feed = it.get('feedurlV2',''), ref=it['uxReference'], args='', action='movies'))
return itemlist
@@ -153,7 +153,7 @@ def live(item):
return support.thumb(itemlist, mode='live')
def peliculas(item):
def movies(item):
logger.debug()
itemlist = []
titlelist = []
@@ -228,16 +228,16 @@ def epmenu(item):
for entry in entries:
if 'mediasetprogram$subBrandId' in entry:
itemlist.append(
item.clone(action='episodios',
item.clone(action='episodes',
title=support.typo(entry['description'], 'bold'),
url=entry['mediasetprogram$subBrandId'],
order=entry.get('mediasetprogram$order',0)))
if len(itemlist) == 1: return episodios(itemlist[0])
if len(itemlist) == 1: return episodes(itemlist[0])
itemlist = sorted(itemlist, key=lambda it: it.order)
return itemlist
def episodios(item):
def episodes(item):
logger.debug()
itemlist = []
if not item.nextIndex: item.nextIndex = 1
+3 -3
View File
@@ -13,7 +13,7 @@ headers = {'X-Requested-With': 'XMLHttpRequest'}
@support.scrape
def mainlist(item):
item.url = host
action = 'peliculas'
action = 'movies'
patronBlock = r'<ul class="dropdown-menu(?P<block>.*?)</ul>\s*</div'
patron = r'<a href="(?P<url>[^"]+)"(?: class="")?>(?P<title>[^<]+)<'
def itemHook(item):
@@ -36,7 +36,7 @@ def mainlist(item):
return locals()
@support.scrape
def peliculas(item):
def movies(item):
# debug=True
action = 'findvideos'
patron= r'<img src="[^"]+" alt="(?P<title>[^"]+)" data-echo="(?P<thumb>[^"]+)"(?:[^>]+>){7}<a href="(?P<url>[^"]+)"'
@@ -53,7 +53,7 @@ def search(item, text):
logger.debug(text)
item.url = host + '/search.php?keywords=' + text + '&video-id='
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
+14 -14
View File
@@ -14,7 +14,7 @@ headers = {'Referer': host}
def mainlist(item):
film = ['/lista-film',
('Ultimi Film Aggiunti', ['/ultimi-film-aggiunti', 'peliculas' , 'last'])]
('Ultimi Film Aggiunti', ['/ultimi-film-aggiunti', 'movies' , 'last'])]
tvshow = ['/lista-serie-tv',
('HD {TV}', ['/lista-serie-tv-in-altadefinizione']),
@@ -23,7 +23,7 @@ def mainlist(item):
anime = ['/lista-cartoni-animati-e-anime']
docu = [('Documentari {bullet bold}',['/lista-documentari', 'peliculas', '', 'tvshow'])]
docu = [('Documentari {bullet bold}',['/lista-documentari', 'movies', '', 'tvshow'])]
search = ''
@@ -35,11 +35,11 @@ def search(item, text):
if item.contentType == 'movie' or item.extra == 'movie':
action = 'findvideos'
else:
action = 'episodios'
action = 'episodes'
item.args = 'search'
item.url = host + "?a=b&s=" + text
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore .
except:
import sys
@@ -48,19 +48,19 @@ def search(item, text):
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
item = support.Item()
try:
if categoria == "series":
if category == 'tvshow':
item.contentType= 'tvshow'
item.url = host + '/ultimi-episodi-aggiunti'
item.args = "lastep"
if categoria == "peliculas":
if category == "movie":
item.contentType= 'movie'
item.url = host + '/ultimi-film-aggiunti'
item.args = "last"
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -70,7 +70,7 @@ def newest(categoria):
@support.scrape
def peliculas(item):
def movies(item):
pagination = True
numerationEnabled = True
patronNext = r'href="([^"]+)" title="[^"]+" class="lcp_nextlink"'
@@ -83,7 +83,7 @@ def peliculas(item):
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"'
patronBlock = r'<div class="movies">(?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:
@@ -91,19 +91,19 @@ def peliculas(item):
item.action = 'findvideos'
else:
item.contentType = 'tvshow'
item.action = 'episodios'
item.action = 'episodes'
return item
else:
patronBlock = r'<div class="entry-content pagess">(?P<block>.*?)</ul>'
patron = r'<li\s*><a href="(?P<url>[^"]+)" title="(?P<title>.*?)(?:\s(?P<year>\d{4}))?"[^>]*>'
if item.contentType == 'tvshow':
action = 'episodios'
action = 'episodes'
numerationEnabled = True
return locals()
@support.scrape
def episodios(item):
def episodes(item):
numerationEnabled = True
pagination = True
patronBlock = r'<table>(?P<block>.*?)</table>'
+1 -1
View File
@@ -6,6 +6,6 @@
"thumbnail": "netfreex.png",
"banner": "netfreex.png",
"categories": ["tvshow", "movie", "anime"],
"not_active": ["include_in_newest_peliculas", "include_in_newest_anime", "include_in_newest_series"],
"not_active": ["include_in_newest_movie", "include_in_newest_anime", "include_in_newest_tvshow"],
"settings": []
}
+5 -5
View File
@@ -40,14 +40,14 @@ def search(item, text):
return []
def peliculas(item):
def movies(item):
if 'anime' in item.url:
return support.dooplay_peliculas(item, True)
return support.dooplay_movies(item, True)
else:
return support.dooplay_peliculas(item, False)
return support.dooplay_movies(item, False)
def episodios(item):
def episodes(item):
return support.dooplay_get_episodes(item)
@@ -65,7 +65,7 @@ def findvideos(item):
@support.scrape
def menu(item):
action = 'peliculas'
action = 'movies'
data = support.match(item, patron=r'<a href="#">Genere<(.*?)</ul').match
patronMenu= r'<a href="(?P<url>[^"]+)"[^>]*>(?P<title>[^<]+)<'
return locals()
+5 -5
View File
@@ -20,7 +20,7 @@ def mainlist(item):
@support.scrape
def menu(item):
action='peliculas'
action='movies'
blacklist=['Tutti']
patronMenu = r'<a data-display-name="Link" href="(?P<url>[^"]+)" class="[^"]+">(?P<title>[^<]+)'
return locals()
@@ -31,7 +31,7 @@ def search(item, text):
item.text = text
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore .
except:
import sys
@@ -68,7 +68,7 @@ def live(item):
return support.thumb(itemlist, mode='live')
def peliculas(item):
def movies(item):
logger.debug()
def load_more(url):
second_url = host if url.startswith('/') else '' + url.replace('\u002F','/').replace('\\u002F','/').replace('%5C','/')
@@ -101,11 +101,11 @@ def peliculas(item):
thumbnail = it['media']['image']['url'],
fanart = it['media']['image']['url'],
plot = it['meta']['description'],
action = 'findvideos' if item.contentType == 'movie' else 'episodios'))
action = 'findvideos' if item.contentType == 'movie' else 'episodes'))
return itemlist
def episodios(item):
def episodes(item):
logger.debug()
def load_more(url):
second_url = host if url.startswith('/') else '' + url.replace('\u002F','/').replace('%5C','/')
+13 -13
View File
@@ -27,7 +27,7 @@ def search(item, texto):
logger.debug(texto)
item.url = host + "/search/" + texto
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -36,23 +36,23 @@ def search(item, texto):
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = support.Item()
try:
if categoria == "peliculas":
if category == "movie":
item.url = host + '/category/films'
item.contentType = 'movies'
return peliculas(item)
if categoria == "series":
return movies(item)
if category == 'tvshow':
item.url = host + '/category/serie'
item.contentType = 'tvshow'
return peliculas(item)
if categoria == "anime":
return movies(item)
if category == "anime":
item.url = host + '/category/anime-cartoni-animati'
item.contentType = 'tvshow'
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -64,18 +64,18 @@ def newest(categoria):
@support.scrape
def peliculas(item):
def movies(item):
patron = r'data-placement="bottom" title="(?P<title>[^"]+)" alt=[^=]+="(?P<url>[^"]+)"> <img class="[^"]+" title="[^"]+(?P<type>film|serie)[^"]+" alt="[^"]+" src="(?P<thumb>[^"]+)"'
patronNext = r'<a\s*class="nextpostslink" rel="next" href="([^"]+)">Avanti'
typeActionDict = {'findvideos': ['film'], 'episodios': ['serie']}
typeActionDict = {'findvideos': ['film'], 'episodes': ['serie']}
typeContentDict = {'movie': ['film'], 'tvshow': ['serie']}
# debug = True
return locals()
@support.scrape
def episodios(item):
def episodes(item):
if item.data: data = item.data
# debug= True
title = item.fulltitle
@@ -94,5 +94,5 @@ def findvideos(item):
data = support.match(item).data
if 'link-episode' in data:
item.data = data
return episodios(item)
return episodes(item)
return support.server(item, data=data)
+11 -11
View File
@@ -17,8 +17,8 @@ headers = [['Accept', 'application/ld+json']]
@support.menu
def mainlist(item):
# menu = [
# ('Ultimi Film aggiunti', ['/api/movies', 'peliculas', '']),
# ('Ultime Serie TV aggiunte', ['/api/shows', 'peliculas', '']),
# ('Ultimi Film aggiunti', ['/api/movies', 'movies', '']),
# ('Ultime Serie TV aggiunte', ['/api/shows', 'movies', '']),
# ('Generi', ['/api/genres', 'search_movie_by_genre', '']),
# ('Anni {film}', ['', 'search_movie_by_year', '']),
# ('Cerca... bold', ['', 'search', ''])
@@ -33,18 +33,18 @@ def mainlist(item):
return locals()
def newest(categoria):
def newest(category):
logger.debug()
item = Item()
if categoria == 'peliculas':
if category == 'movie':
item.contentType = 'movie'
item.url = host + '/api/movies'
elif categoria == 'series':
elif category == 'tvshow':
item.contentType = 'tvshow'
item.url = host+'/api/shows'
return peliculas(item)
return movies(item)
def peliculas(item):
def movies(item):
logger.debug()
itemlist = []
@@ -66,7 +66,7 @@ def peliculas(item):
return itemlist
def episodios(item):
def episodes(item):
logger.debug()
itemlist = []
data = support.match(item.url, headers=headers).data
@@ -129,7 +129,7 @@ def search_movie_by_genre(item):
json_object = jsontools.load(data)
for genre in json_object['hydra:member']:
itemlist.append(
item.clone(action="peliculas",
item.clone(action="movies",
title=support.typo(genre['name'],'bold'),
contentType='movie',
url="%s/api/movies?genres.id=%s" %(host,genre['id'])))
@@ -148,7 +148,7 @@ def search_movie_by_year(item):
plot="1",
type="movie",
title=support.typo(year_to_search,'bold'),
action="peliculas"))
action="movies"))
return itemlist
@@ -209,7 +209,7 @@ def get_itemlist_element(element,item):
infoLabels['tmdb_id']=element['tmdbId']
else:
contentSerieName = scrapedtitle
next_action='episodios'
next_action='episodes'
quality=''
url="%s%s"
+16 -16
View File
@@ -18,12 +18,12 @@ headers = [['Referer', host]]
def mainlist(item):
film = [
('Generi', ['', 'menu', 'Film']),
('Più Visti', ['','peliculas', 'most'])
('Più Visti', ['','movies', 'most'])
]
tvshow = ['',
('Generi', ['', 'menu', 'Serie Tv']),
('Ultimi Episodi', ['','peliculas', 'last'])
('Ultimi Episodi', ['','movies', 'last'])
]
search = ''
@@ -32,7 +32,7 @@ def mainlist(item):
@support.scrape
def menu(item):
action = 'peliculas'
action = 'movies'
patronBlock = item.args + r' Categorie</a>\s*<ul(?P<block>.*?)</ul>'
patronMenu = r'<a href="(?P<url>[^"]+)"[^>]+>(?P<title>[^>]+)<'
return locals()
@@ -45,8 +45,8 @@ def search(item, text):
item.url = host + '/search/keyword/' + text
try:
item.args = 'search'
itemlist = peliculas(item)
if itemlist[-1].action == 'peliculas':
itemlist = movies(item)
if itemlist[-1].action == 'movies':
itemlist.pop()
return itemlist
# Continua la ricerca in caso di errore
@@ -57,22 +57,22 @@ def search(item, text):
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = support.Item()
item.url = host
item.action = 'peliculas'
item.action = 'movies'
try:
if categoria == 'peliculas':
if category == 'movie':
item.contentType = 'movie'
itemlist = peliculas(item)
itemlist = movies(item)
else:
item.args = 'last'
item.contentType = 'tvshow'
itemlist = peliculas(item)
itemlist = movies(item)
if itemlist[-1].action == 'peliculas':
if itemlist[-1].action == 'movies':
itemlist.pop()
# Continua la ricerca in caso di errore
except:
@@ -85,9 +85,9 @@ def newest(categoria):
@support.scrape
def peliculas(item):
def movies(item):
if item.contentType == 'tvshow' and not item.args:
action = 'episodios'
action = 'episodes'
patron = r'<div class="movie-box">\s*<a href="(?P<url>[^"]+)">[^>]+>[^>]+>\D+Streaming\s(?P<lang>[^"]+)[^>]+>[^>]+>[^>]+>(?P<quality>[^<]+)[^>]+>[^>]+>[^>]+>\s*<img src="(?P<thumb>[^"]+)"[^>]+>[^>]+>[^>]+>[^>]+>(?P<rating>[^<]+)<[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>(?P<title>[^<]+)[^>]+>[^>]+>[^>]+>\s*(?P<year>\d+)'
elif item.contentType == 'movie' and not item.args:
patron = r'<div class="existing_item col-6 col-lg-3 col-sm-4 col-xl-4">\s*<div class="movie-box">\s*<a href="(?P<url>(?:http(?:s)://[^/]+)?/(?P<type>[^/]+)/[^"]+)">[^>]+>[^>]+>\D+Streaming\s*(?P<lang>[^"]+)">[^>]+>[^>]+>(?P<quality>[^<]+)<[^>]+>[^>]+>[^>]+>\s*<img src="(?P<thumb>[^"]+)"[^>]+>[^>]+>[^>]+>[^>]+>(?P<rating>[^<]+)<[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>(?P<title>[^<]+)[^>]+>[^>]+>[^>]+>\s*(?:(?P<year>\d+))?[^>]+>[^>]+>[^>]+>[^>]+>(?P<plot>[^<]*)<'
@@ -97,14 +97,14 @@ def peliculas(item):
patron =r'div class="sm-113 item">\s*<a href="(?P<url>[^"]+)">[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>\s<img src="(?P<thumb>[^"]+)"[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>\s*(?P<title>[^<]+)'
else:
patron = r'<div class="movie-box">\s*<a href="(?P<url>(?:http(?:s)://[^/]+)?/(?P<type>[^/]+)/[^"]+)">[^>]+>[^>]+>\D+Streaming\s*(?P<lang>[^"]+)">[^>]+>[^>]+>(?P<quality>[^<]+)<[^>]+>[^>]+>[^>]+>\s*<img src="(?P<thumb>[^"]+)"[^>]+>[^>]+>[^>]+>[^>]+>(?P<rating>[^<]+)<[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>(?P<title>[^<]+)[^>]+>[^>]+>[^>]+>\s*(?:(?P<year>\d+))?[^>]+>[^>]+>[^>]+>[^>]+>(?P<plot>[^<]*)<'
typeActionDict = {'findvideos':['movie'], 'episodios':['tvshow']}
typeActionDict = {'findvideos':['movie'], 'episodes':['tvshow']}
typeContentDict = {'movie':['movie'], 'tvshow':['tvshow']}
patronNext = r'<a href="([^"]+)"[^>]+>&raquo;'
return locals()
@support.scrape
def episodios(item):
def episodes(item):
patron = r'<div class="episode-box">[^>]+>[^>]+>[^>]+>\D+Streaming\s(?P<lang>[^"]+)">[^>]+>[^>]+>(?P<quality>[^<]+)<[^>]+>[^>]+>[^>]+>\s*<img src="(?P<thumb>[^"]+)"[^[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>\s*<a href="(?P<url>[^"]+)"[^>]+>[^>]+>(?P<title>[^<]+)<[^>]+>[^>]+>[^>]+>\D*(?P<season>\d+)[^>]+>\D*(?P<episode>\d+)'
return locals()
+6 -6
View File
@@ -43,7 +43,7 @@ def menu(item):
logger.debug()
itemlist = []
item.disable_videolibrary = True
action = 'peliculas'
action = 'movies'
if item.data:
for it in item.data:
@@ -68,7 +68,7 @@ def genres(item):
itemlist = []
items = requests.get(getUrl(item.genre_url)).json()['contents']
for title, it in items.items():
if it: itemlist.append(item.clone(title=support.typo(title, 'bold'), data=it, action='peliculas', thumbnail=support.thumb('az')))
if it: itemlist.append(item.clone(title=support.typo(title, 'bold'), data=it, action='movies', thumbnail=support.thumb('az')))
return itemlist
@@ -78,7 +78,7 @@ def search(item, text):
try:
item.data = requests.post(host + '/atomatic/raiplay-search-service/api/v3/search', json=post).json()['agg']['titoli']['cards']
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -87,12 +87,12 @@ def search(item, text):
return []
def peliculas(item):
def movies(item):
logger.debug()
return addinfo(item.data, item)
def episodios(item):
def episodes(item):
logger.debug()
itemlist = []
@@ -286,7 +286,7 @@ def addinfo(items, item):
it.action = 'play'
it.contentTitle = it.fulltitle
else:
it.action = 'episodios'
it.action = 'episodes'
it.contentSerieName = it.fulltitle
return it
+16 -16
View File
@@ -18,12 +18,12 @@ def mainlist(item):
tvshow = [('Genere', ['', 'menu', 'genre']),
('A-Z', ['', 'menu', 'a-z']),
('In Corso', ['/category/serie-tv-streaming/serie-in-corso', 'peliculas']),
('Complete', ['/category/serie-tv-streaming/serie-complete', 'peliculas']),
('Americane', ['/category/serie-tv-streaming/serie-tv-americane', 'peliculas']),
('Italiane', ['/category/serie-tv-streaming/serie-tv-italiane', 'peliculas']),
('Ultimi Episodi', ['/aggiornamenti', 'peliculas', 'last']),
('Evidenza', ['', 'peliculas', 'best'])]
('In Corso', ['/category/serie-tv-streaming/serie-in-corso', 'movies']),
('Complete', ['/category/serie-tv-streaming/serie-complete', 'movies']),
('Americane', ['/category/serie-tv-streaming/serie-tv-americane', 'movies']),
('Italiane', ['/category/serie-tv-streaming/serie-tv-italiane', 'movies']),
('Ultimi Episodi', ['/aggiornamenti', 'movies', 'last']),
('Evidenza', ['', 'movies', 'best'])]
return locals()
@@ -34,7 +34,7 @@ def search(item, texto):
item.contentType = 'tvshow'
item.url = host + "/?s=" + texto
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore .
except:
import sys
@@ -43,17 +43,17 @@ def search(item, texto):
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = support.Item()
item.url = host + '/aggiornamenti'
item.args = 'last'
try:
if categoria == "series":
if category == 'tvshow':
item.contentType = 'tvshow'
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -65,17 +65,17 @@ def newest(categoria):
@support.scrape
def peliculas(item):
def movies(item):
# debug = True
if item.args == 'last':
action = 'findvideos'
patron = r'singleUpdate">(?:[^>]+>){2}\s*<img src="(?P<thumb>[^"]+)"(?:[^>]+>){3}\s*<h2>(?P<title>[^<]+)<(?:[^>]+>){14,16}\s*<a href="(?P<url>[^"]+)">(?:[^>]+>){3}\s*(?P<season>\d+)\D+(?P<episode>\d+)(?:[^\(]*\()?(?P<lang>[^\)]+)?(?:\))?'
elif item.args == 'best':
action='episodios'
action='episodes'
patron = r'col-md-3">\s*<a href="(?P<url>[^"]+)">[^>]+>\s*<div class="infoVetrina">[^>]+>(?P<year>\d{4})(?:[^>]+>){2}(?P<title>[^<]+)<(?:[^>]+>){4}(?P<rating>[^<]+)(?:[^>]+>){4}\s*<img src="(?P<thumb>[^"]+)"'
else:
action='episodios'
action='episodes'
# patron = r'<a href="(?P<url>[^"]+)">[^>]+>\s*<div class="infoSeries">\s*<h2>(?P<title>[^<]+)<(?:[^>]+>){5}(?P<rating>[^<]+)?(?:[^>]+>){3}\s*<img src="(?P<thumb>[^"]+)"(?:[^>]+>){3}(?P<quality>[^<]+)<(?:[^>]+>){2}(?P<year>\d{4})'
patron = r'<a href="(?P<url>[^"]+)">[^>]+>\s*<div class="infoSeries">\s*<h2>(?P<title>[^<]+?)(?:\[(?P<lang>[^\]]+)\])?<(?:[^>]+>){5}(?P<rating>[^<]+)?(?:[^>]+>){3}\s*(?:<img src="(?P<thumb>[^"]+)"[^>]+>)?(?:[^>]+>){0,2}(?P<quality>[^<]+)<(?:[^>]+>){2}(?P<year>\d{4})'
patronNext=r'next page-numbers" href="([^"]+)"'
@@ -84,7 +84,7 @@ def peliculas(item):
@support.scrape
def episodios(item):
def episodes(item):
def get_season(pageData, seas_url, season):
data = ''
episodes = support.match(pageData if pageData else seas_url, patronBlock=patron_episode, patron=patron_option).matches
@@ -137,7 +137,7 @@ def menu(item):
patronMenu = r'<a href="(?P<url>[^"]+)" class="">(?P<title>[^<]+)'
blacklist = ['Serie TV Streaming','Serie TV Americane','Serie TV Italiane','Serie Complete','Serie in Corso','altadefinizione']
action = 'peliculas'
action = 'movies'
return locals()
+18 -18
View File
@@ -35,27 +35,27 @@ def mainlist(item):
film = ['/ultimi-film-aggiunti/',
('A-Z', ['/lista-film/', 'peliculas', 'lista'])
('A-Z', ['/lista-film/', 'movies', 'lista'])
]
tvshow = ['',
('Aggiornamenti', ['/ultimi-episodi-aggiunti/', 'peliculas', 'update']),
('Tutte', ['/lista-serie-tv/', 'peliculas', 'qualcosa']),
('Italiane', ['/lista-serie-tv-italiane/', 'peliculas', 'qualcosa']),
('Anni 50-60-70-80', ['/lista-serie-tv-anni-60-70-80/', 'peliculas', 'qualcosa']),
('HD', ['/lista-serie-tv-in-altadefinizione/', 'peliculas', 'qualcosa'])
('Aggiornamenti', ['/ultimi-episodi-aggiunti/', 'movies', 'update']),
('Tutte', ['/lista-serie-tv/', 'movies', 'qualcosa']),
('Italiane', ['/lista-serie-tv-italiane/', 'movies', 'qualcosa']),
('Anni 50-60-70-80', ['/lista-serie-tv-anni-60-70-80/', 'movies', 'qualcosa']),
('HD', ['/lista-serie-tv-in-altadefinizione/', 'movies', 'qualcosa'])
]
anime = ['/lista-cartoni-animati-e-anime/']
documentari = [('Documentari {bullet bold}', ['/lista-documentari/' , 'peliculas' , 'doc', 'tvshow'])]
documentari = [('Documentari {bullet bold}', ['/lista-documentari/' , 'movies' , 'doc', 'tvshow'])]
search = ''
return locals()
@support.scrape
def peliculas(item):
def movies(item):
logger.debug()
numerationEnabled = True
@@ -99,13 +99,13 @@ def peliculas(item):
pass
else:
item.contentType = 'tvshow'
item.action = 'episodios'
item.action = 'episodes'
return item
return locals()
@support.scrape
def episodios(item):
def episodes(item):
logger.debug()
numerationEnabled = True
action = 'findvideos'
@@ -127,7 +127,7 @@ def search(item, text):
try:
item.args = 'search'
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -135,22 +135,22 @@ def search(item, text):
logger.error("%s" % line)
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = Item()
if categoria == 'peliculas':
if category == 'movie':
item.contentType = 'movie'
item.url = host + '/ultimi-film-aggiunti/'
elif categoria == 'series':
elif category == 'tvshow':
item.args = 'update'
item.contentType = 'episode'
item.url = host +'/ultimi-episodi-aggiunti/'
try:
item.action = 'peliculas'
itemlist = peliculas(item)
item.action = 'movies'
itemlist = movies(item)
except:
import sys
@@ -179,6 +179,6 @@ def findvideos(item):
series = support.typo(item.contentSerieName, ' bold color kod')
itemlist = support.server(item, data=url_video)
itemlist.append(item.clone(title=goseries + series, contentType='tvshow', url=url_serie, action='episodios', plot = goseries + series + "con tutte le puntate", args=''))
itemlist.append(item.clone(title=goseries + series, contentType='tvshow', url=url_serie, action='episodes', plot = goseries + series + "con tutte le puntate", args=''))
return itemlist
+1 -1
View File
@@ -16,7 +16,7 @@
"visible": true
},
{
"id": "include_in_newest_series",
"id": "include_in_newest_tvshow",
"type": "bool",
"label": "Includi in Novità - Serie TV",
"default": true,
+11 -11
View File
@@ -22,7 +22,7 @@ list_language = IDIOMAS.values()
def mainlist(item):
itemlist = []
tvshowSub = [
('Novità {bold}',[ '', 'peliculas_tv', '', 'tvshow']),
('Novità {bold}',[ '', 'movies_tv', '', 'tvshow']),
('Serie TV {bold}',[ '', 'lista_serie', '', 'tvshow']),
('Per Lettera', ['', 'list_az', 'serie', 'tvshow'])
]
@@ -110,7 +110,7 @@ def lista_serie(item):
if i >= p * PERPAGE: break
title = cleantitle(scrapedtitle)
itemlist.append(
item.clone(action="episodios",
item.clone(action="episodes",
title=title,
url=scrapedurl,
thumbnail=scrapedthumbnail,
@@ -134,7 +134,7 @@ def lista_serie(item):
# ----------------------------------------------------------------------------------------------------------------
def episodios(item, itemlist=[]):
def episodes(item, itemlist=[]):
logger.debug()
patron = r'<div class="post-meta">\s*<a href="([^"]+)"\s*title="([^"]+)"\s*class=".*?"></a>.*?'
patron += r'<p><a href="([^"]+)">'
@@ -198,7 +198,7 @@ def episodios(item, itemlist=[]):
next_page = scrapertools.find_single_match(data, patron)
if next_page != "":
item.url = next_page
itemlist = episodios(item, itemlist)
itemlist = episodes(item, itemlist)
else:
item.url = item.originalUrl
support.videolibrary(itemlist, item, 'bold color kod')
@@ -209,7 +209,7 @@ def episodios(item, itemlist=[]):
# ================================================================================================================
# ----------------------------------------------------------------------------------------------------------------
def peliculas_tv(item):
def movies_tv(item):
logger.debug()
itemlist = []
@@ -262,16 +262,16 @@ def peliculas_tv(item):
# ----------------------------------------------------------------------------------------------------------------
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = Item()
item.url = host
item.extra = 'serie'
try:
if categoria == "series":
itemlist = peliculas_tv(item)
if itemlist[-1].action == 'peliculas_tv':
if category == 'tvshow':
itemlist = movies_tv(item)
if itemlist[-1].action == 'movies_tv':
itemlist.pop(-1)
except:
@@ -298,7 +298,7 @@ def search(item, texto):
scrapedplot = ""
title = cleantitle(scrapedtitle)
itemlist.append(
item.clone(action="episodios",
item.clone(action="episodes",
title=title,
url=scrapedurl,
thumbnail=scrapedthumbnail,
+1 -1
View File
@@ -6,6 +6,6 @@
"thumbnail": "serietvu.png",
"banner": "serietvu.png",
"categories": ["tvshow", "sub"],
"not_active": ["include_in_newest_peliculas", "include_in_newest_anime"],
"not_active": ["include_in_newest_movie", "include_in_newest_anime"],
"settings": []
}
+12 -12
View File
@@ -23,7 +23,7 @@ headers = [['Referer', host]]
def mainlist(item):
tvshow = ['/category/serie-tv',
('Ultimi episodi', ['/ultimi-episodi/', 'peliculas', 'update']),
('Ultimi episodi', ['/ultimi-episodi/', 'movies', 'update']),
('Generi', ['', 'genres', 'genres'])
]
@@ -31,12 +31,12 @@ def mainlist(item):
@support.scrape
def peliculas(item):
def movies(item):
# debug=True
patronBlock = r'<div class="wrap">\s*<h.>.*?</h.>(?P<block>.*?)<footer>'
if item.args != 'update':
action = 'episodios'
action = 'episodes'
patron = r'<div class="item">\s*?<a href="(?P<url>[^"]+)" data-original="(?P<thumb>[^"]+)" class="lazy inner">(?:[^>]+>){4}(?P<title>[^<]+)<'
else:
action = 'findvideos'
@@ -48,7 +48,7 @@ def peliculas(item):
@support.scrape
def episodios(item):
def episodes(item):
seasons = support.match(item, patron=r'<option value="(\d+)"[^>]*>\D+(\d+)').matches
patronBlock = r'</select><div style="clear:both"></div></h2>(?P<block>.*?)<div id="trailer" class="tab">'
patron = r'(?:<div class="list (?:active)?")?\s*<a data-id="\d+(?:[ ](?P<lang>[SuUbBiItTaA\-]+))?"(?P<other>[^>]+)>.*?Episodio [0-9]+\s?(?:<br>(?P<title>[^<]+))?.*?Stagione (?P<season>[0-9]+) , Episodio - (?P<episode>[0-9]+).*?<(?P<url>.*?<iframe)'
@@ -66,7 +66,7 @@ def episodios(item):
@support.scrape
def genres(item):
blacklist = ["Home Page", "Calendario Aggiornamenti"]
action = 'peliculas'
action = 'movies'
patronBlock = r'<h2>Sfoglia</h2>\s*<ul>(?P<block>.*?)</ul>\s*</section>'
patronMenu = r'<li><a href="(?P<url>[^"]+)">(?P<title>[^<]+)</a></li>'
return locals()
@@ -77,7 +77,7 @@ def search(item, text):
item.url = host + "/?s=" + text
try:
item.contentType = 'tvshow'
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -86,17 +86,17 @@ def search(item, text):
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
itemlist = []
item = Item()
try:
if categoria == "series":
if category == 'tvshow':
item.url = host + "/ultimi-episodi"
item.action = "peliculas"
item.action = "movies"
item.contentType = 'tvshow'
item.args = 'update'
itemlist = peliculas(item)
itemlist = movies(item)
# Continua la ricerca in caso di errore
except:
@@ -126,7 +126,7 @@ def findvideos(item):
item.clone(title=support.typo("Vai alla Serie Completa: " + item.fulltitle, ' bold'),
contentType='tvshow',
url=url_serie,
action='episodios',
action='episodes',
thumbnail = support.thumb('tvshow')))
return itemlist
+1 -1
View File
@@ -6,6 +6,6 @@
"thumbnail": "popcornstream.png",
"banner": "popcornstream.png",
"categories": ["movie","tvshow","anime"],
"not_active":["include_in_newest_peliculas", "include_in_newest_series", "include_in_newest_anime"],
"not_active":["include_in_newest_movie", "include_in_newest_tvshow", "include_in_newest_anime"],
"settings": []
}
+4 -4
View File
@@ -46,16 +46,16 @@ def search(item, text):
def genre(item):
patronMenu = '<a href="(?P<url>[^"#]+)">(?P<title>[a-zA-Z]+)'
patronBlock='<a href="#">Genere</a><ul class="sub-menu">(?P<block>.*?)</ul>'
action='peliculas'
action='movies'
return locals()
def peliculas(item):
return support.dooplay_peliculas(item, True if "/genere/" in item.url else False)
def movies(item):
return support.dooplay_movies(item, True if "/genere/" in item.url else False)
def episodios(item):
def episodes(item):
return support.dooplay_get_episodes(item)
+20 -15
View File
@@ -11,7 +11,10 @@ if sys.version_info[0] >= 3:
else:
from concurrent_py2 import futures
host = support.config.get_channel_url()
def findhost(url):
return 'https://' + support.match(url, patron='var domain\s*=\s*"([^"]+)').match
host = support.config.get_channel_url(findhost)
session = requests.Session()
headers = {}
@@ -32,14 +35,14 @@ getHeaders()
def mainlist(item):
film=['',
('Generi',['/film','genres']),
('Titoli del Momento',['/film','peliculas',0]),
('Novità',['/film','peliculas',1]),
('Popolari',['/film','peliculas',2])]
('Titoli del Momento',['/film','movies',0]),
('Novità',['/film','movies',1]),
('Popolari',['/film','movies',2])]
tvshow=['',
('Generi',['/serie-tv','genres']),
('Titoli del Momento',['/serie-tv','peliculas',0]),
('Novità',['/serie-tv','peliculas',1]),
('Popolari',['/serie-tv','peliculas',2])]
('Titoli del Momento',['/serie-tv','movies',0]),
('Novità',['/serie-tv','movies',1]),
('Popolari',['/serie-tv','movies',2])]
search=''
return locals()
@@ -51,7 +54,7 @@ def genres(item):
data = support.scrapertools.decodeHtmlentities(support.match(item).data)
args = support.match(data, patronBlock=r'genre-options-json="([^\]]+)\]', patron=r'name"\s*:\s*"([^"]+)').matches
for arg in args:
itemlist.append(item.clone(title=support.typo(arg, 'bold'), args=arg, action='peliculas'))
itemlist.append(item.clone(title=support.typo(arg, 'bold'), args=arg, action='movies'))
support.thumb(itemlist, genre=True)
return itemlist
@@ -61,7 +64,7 @@ def search(item, text):
item.search = text
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -75,15 +78,17 @@ def newest(category):
itemlist = []
item = support.Item()
item.args = 1
if category == 'peliculas':
if category == 'movie':
item.contentType= 'movie'
item.url = host + '/film'
else:
item.contentType= 'tvshow'
item.url = host + '/serie-tv'
try:
itemlist = peliculas(item)
itemlist = movies(item)
if itemlist[-1].action == 'peliculas':
if itemlist[-1].action == 'movies':
itemlist.pop()
# Continua la ricerca in caso di errore
except:
@@ -96,7 +101,7 @@ def newest(category):
def peliculas(item):
def movies(item):
# getHeaders()
logger.debug()
itemlist = []
@@ -157,13 +162,13 @@ def makeItem(n, it, item):
# itm.contentType = 'tvshow'
itm.contentTitle = ''
itm.fulltitle = itm.show = itm.contentSerieName = title
itm.action = 'episodios'
itm.action = 'episodes'
itm.season_count = info['seasons_count']
itm.url = host + '/titles/%s-%s' % (it['id'], it['slug'])
itm.n = n
return itm
def episodios(item):
def episodes(item):
# getHeaders()
logger.debug()
itemlist = []
+8 -8
View File
@@ -24,7 +24,7 @@ def mainlist(item):
@support.scrape
def peliculas(item):
def movies(item):
patron = """tgme_widget_message_photo_wrap.*?image:url\("(?P<thumbnail>[^"]+).*?//telegram\.org/img/emoji/40/(?:F09F8EAC|F09F8EA5)\.png"\)">.*?</i>\s?(?:<b>)?(?P<title>[^<]+).*?(?:Audio(?:</b>)?: (?P<lang>.*?<br>))?.*?Anno(?:</b>)?: (?P<year>[0-9]{4}).*?(?:<b>Stream</b>|Risoluzione|<b>Tipo</b>|Tipo|Stream): (?P<quality>[^<]+).*?tgme_widget_message_inline_button url_button" href="(?P<url>[^"]+)"""
def itemlistHook(itemlist):
retItemlist = []
@@ -34,7 +34,7 @@ def peliculas(item):
i.contentType = 'movie'
if '/SerieTv/' in i.url:
i.contentType = 'tvshow'
i.action = 'episodios'
i.action = 'episodes'
if item.contentType == i.contentType or item.contentType == 'list': # list = ricerca globale quando c'è un solo tipo di risultato
retItemlist.append(i)
# rimuovo duplicati
@@ -66,14 +66,14 @@ def peliculas(item):
# return item
if item.contentType == 'tvshow':
action = 'episodios'
action = 'episodes'
return locals()
def search(item, texto):
item.url = host + "/?q=" + texto
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -82,19 +82,19 @@ def search(item, texto):
return []
def newest(categoria):
def newest(category):
item = Item()
if categoria == "series":
if category == 'tvshow':
item.contentType = 'tvshow'
item.url = host + '?q=%23SerieTv'
else:
item.contentType = 'movie'
item.url = host + '?q=%23Film'
return peliculas(item)
return movies(item)
# cerco il titolo, così mi escono fuori tutti i messaggi contenenti puntate singole o serie
def episodios(item):
def episodes(item):
url = item.url
item.cercaSerie = True
itemlist = search(item, item.fulltitle.replace("'", ""))
+1 -1
View File
@@ -6,6 +6,6 @@
"thumbnail": "tantifilm.png",
"banner": "tantifilm.png",
"categories": ["tvshow", "movie", "anime"],
"not_active":["include_in_newest_anime", "include_in_newest_peliculas"],
"not_active":["include_in_newest_anime", "include_in_newest_movie"],
"settings": []
}
+9 -9
View File
@@ -45,7 +45,7 @@ def mainlist(item):
return locals()
@support.scrape
def peliculas(item):
def movies(item):
# debug = True
if item.args == 'search':
patron = r'<a href="(?P<url>[^"]+)" title="Permalink to\s*(?P<title>[^"]+) \((?P<year>[0-9]+)[^<]*\)[^"]*"[^>]+>\s*<img[^s]+src="(?P<thumb>[^"]+)".*?<div class="calitate">\s*<p>(?P<quality>[^<]+)<\/p>'
@@ -55,7 +55,7 @@ def peliculas(item):
patronBlock = r'<div id="main_col">(?P<block>.*?)<!\-\- main_col \-\->'
# if item.args != 'all' and item.args != 'search':
# action = 'findvideos' if item.extra == 'movie' else 'episodios'
# action = 'findvideos' if item.extra == 'movie' else 'episodes'
# item.contentType = 'movie' if item.extra == 'movie' else 'tvshow'
# debug = True
return locals()
@@ -63,7 +63,7 @@ def peliculas(item):
@support.scrape
def episodios(item):
def episodes(item):
def get_season(pageData, seas_url, season):
data = ''
episodes = support.match(pageData if pageData else seas_url, patronBlock=patron_episode, patron=patron_option).matches
@@ -106,7 +106,7 @@ def category(item):
blacklist = ['Ultimi Film Aggiornati', 'Anime', 'Serie TV Altadefinizione', 'HD AltaDefinizione', 'Al Cinema', 'Serie TV', 'Miniserie', 'Programmi Tv', 'Live', 'Trailers', 'Serie TV Aggiornate', 'Aggiornamenti', 'Featured']
patronGenreMenu = '<li><a href="(?P<url>[^"]+)"><span></span>(?P<title>[^<]+)</a></li>'
patron_block = '<ul class="table-list">(.*?)</ul>'
action = 'peliculas'
action = 'movies'
return locals()
@@ -118,7 +118,7 @@ def search(item, texto):
item.url = host + "/?s=" + texto
try:
item.args = 'search'
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
@@ -129,8 +129,8 @@ def search(item, texto):
@support.scrape
def newest(categoria):
if categoria == 'series':
def newest(category):
if category == 'tvshow':
item = Item(url=host + '/aggiornamenti-serie-tv')
data = support.match(item).data.replace('<u>','').replace('</u>','')
item.contentType = 'episode'
@@ -165,13 +165,13 @@ def findvideos(item):
item.data = data
logger.debug('select = ### è una anime ###')
try:
return episodios(item)
return episodes(item)
except:
pass
elif 'serie' in check.lower():
item.contentType = 'tvshow'
item.data = data
return episodios(item)
return episodes(item)
else:
item.contentTitle = item.fulltitle
item.contentType = 'movie'
+5 -5
View File
@@ -26,7 +26,7 @@ def mainlist(item):
return locals()
def episodios(item):
def episodes(item):
logger.debug(item)
itemlist = []
@@ -49,11 +49,11 @@ def episodios(item):
def genres(item):
itemlist = []
for n, genre in enumerate(httptools.downloadpage(host + api_url + 'categories', post={}).json.get('categories', [])):
itemlist.append(item.clone(action="peliculas", genre=genre.get('name'), title=genre.get('value'), n=n))
itemlist.append(item.clone(action="movies", genre=genre.get('name'), title=genre.get('value'), n=n))
return support.thumb(itemlist, mode='genre')
def peliculas(item, text=''):
def movies(item, text=''):
logger.debug('search', item)
itemlist = []
filter_type = False
@@ -76,7 +76,7 @@ def peliculas(item, text=''):
itemlist.append(item.clone(id=result.get('id'), title=result.get('title'), contentTitle=result.get('title'),
contentSerieName='' if contentType == 'movie' else result.get('title'),
contentPlot=result.get('description'), thumbnail=result.get('poster'),
fanart=result.get('backdrop'), year=result.get('year'), action='episodios' if contentType == 'tvshow' else 'findvideos',
fanart=result.get('backdrop'), year=result.get('year'), action='episodes' if contentType == 'tvshow' else 'findvideos',
url='{}/{}/{}-{}'.format('https://filmigratis.org', contentType, result.get('id'), support.scrapertools.slugify(result.get('title'))),
contentType=contentType))
support.tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
@@ -88,7 +88,7 @@ def peliculas(item, text=''):
def search(item, text):
return peliculas(item, text)
return movies(item, text)
def findvideos(item):
+2 -2
View File
@@ -5,8 +5,8 @@
"active": true,
"thumbnail": "toonitalia.png",
"banner": "toonitalia.png",
"categories": ["tvshow", "movie", "sub, "anime"],
"not_active":["include_in_newest_peliculas", "include_in_newest_series"],
"categories": ["tvshow", "movie", "sub", "anime"],
"not_active":["include_in_newest_movie", "include_in_newest_tvshow"],
"default_off":["include_in_newest"],
"settings": []
}
+11 -11
View File
@@ -14,12 +14,12 @@ headers = [['Referer', host]]
@support.menu
def mainlist(item):
top = [('Novità',['', 'peliculas', 'new', 'tvshow']),
('Aggiornamenti', ['', 'peliculas', 'last', 'tvshow'])]
top = [('Novità',['', 'movies', 'new', 'tvshow']),
('Aggiornamenti', ['', 'movies', 'last', 'tvshow'])]
tvshow = ['/category/serie-tv/']
anime =['/category/anime/',
('Sub-Ita',['/category/anime-sub-ita/', 'peliculas', 'sub']),
('Film Animati',['/category/film-animazione/','peliculas', '', 'movie'])]
('Sub-Ita',['/category/anime-sub-ita/', 'movies', 'sub']),
('Film Animati',['/category/film-animazione/','movies', '', 'movie'])]
search = ''
return locals()
@@ -31,7 +31,7 @@ def search(item, text):
item.url = item.url + '/?a=b&s=' + text.replace(' ', '+')
try:
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -40,14 +40,14 @@ def search(item, text):
return []
def newest(categoria):
logger.debug(categoria)
def newest(category):
logger.debug(category)
item = support.Item()
try:
item.contentType = 'undefined'
item.url= host
item.args= 'new'
return peliculas(item)
return movies(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -57,12 +57,12 @@ def newest(categoria):
@support.scrape
def peliculas(item):
def movies(item):
# debugBlock = True
# debug = True
# search = item.text
if item.contentType != 'movie': numerationEnabled = True
action = 'findvideos' if item.contentType == 'movie' else 'episodios'
action = 'findvideos' if item.contentType == 'movie' else 'episodes'
blacklist = ['-Film Animazione disponibili in attesa di recensione ']
if item.action == 'search':
@@ -92,7 +92,7 @@ def peliculas(item):
@support.scrape
def episodios(item):
def episodes(item):
numerationEnabled = True
# debug = True
patron = r'>\s*(?:(?P<season>\d+)(?:&#215;|x|×))?(?P<episode>\d+)(?:\s+&#8211;\s+)?[ ]+(?P<title2>[^<]+)[ ]+<a (?P<data>.*?)(?:<br|</p)'
+4 -4
View File
@@ -21,8 +21,8 @@ blacklist = ['CB01.UNO &#x25b6; TROVA L&#8217;INDIRIZZO UFFICIALE ', 'AVVISO IMP
def mainlist(item):
film = [
('I più votati', ["ratings/?get=movies", 'peliculas']),
('I più popolari', ["trending/?get=movies", 'peliculas']),
('I più votati', ["ratings/?get=movies", 'movies']),
('I più popolari', ["trending/?get=movies", 'movies']),
('Generi', ['ratings/?get=movies', 'menu', 'genres']),
('Anno', ["", 'menu', 'releases']),
]
@@ -36,8 +36,8 @@ def search(item, text):
return support.dooplay_search(item, blacklist)
def peliculas(item):
return support.dooplay_peliculas(item, False, blacklist)
def movies(item):
return support.dooplay_movies(item, False, blacklist)
def findvideos(item):
+33 -33
View File
@@ -31,35 +31,35 @@ main_host = host + '/vvvvid/ondemand/'
def mainlist(item):
if conn_id:
anime = ['/vvvvid/ondemand/anime/',
('Popolari',['/vvvvid/ondemand/anime/', 'peliculas', 'channel/10002/last/']),
('Nuove Uscite',['/vvvvid/ondemand/anime/', 'peliculas', 'channel/10007/last/']),
('Generi',['/vvvvid/ondemand/anime/', 'peliculas', 'channel/10004/last/?category=']),
('A-Z',['/vvvvid/ondemand/anime/', 'peliculas', 'channel/10003/last/?filter='])
('Popolari',['/vvvvid/ondemand/anime/', 'movies', 'channel/10002/last/']),
('Nuove Uscite',['/vvvvid/ondemand/anime/', 'movies', 'channel/10007/last/']),
('Generi',['/vvvvid/ondemand/anime/', 'movies', 'channel/10004/last/?category=']),
('A-Z',['/vvvvid/ondemand/anime/', 'movies', 'channel/10003/last/?filter='])
]
film = ['/vvvvid/ondemand/film/',
('Popolari',['/vvvvid/ondemand/film/', 'peliculas', 'channel/10002/last/']),
('Nuove Uscite',['/vvvvid/ondemand/film/', 'peliculas', 'channel/10007/last/']),
('Generi',['/vvvvid/ondemand/film/', 'peliculas', 'channel/10004/last/?category=']),
('A-Z',['/vvvvid/ondemand/film/', 'peliculas', 'channel/10003/last/?filter=']),
('Popolari',['/vvvvid/ondemand/film/', 'movies', 'channel/10002/last/']),
('Nuove Uscite',['/vvvvid/ondemand/film/', 'movies', 'channel/10007/last/']),
('Generi',['/vvvvid/ondemand/film/', 'movies', 'channel/10004/last/?category=']),
('A-Z',['/vvvvid/ondemand/film/', 'movies', 'channel/10003/last/?filter=']),
]
tvshow = ['/vvvvid/ondemand/series/',
('Popolari',['/vvvvid/ondemand/series/', 'peliculas', 'channel/10002/last/']),
('Nuove Uscite',['/vvvvid/ondemand/series/', 'peliculas', 'channel/10007/last/']),
('Generi',['/vvvvid/ondemand/series/', 'peliculas', 'channel/10004/last/?category=']),
('A-Z',['/vvvvid/ondemand/series/', 'peliculas', 'channel/10003/last/?filter='])
('Popolari',['/vvvvid/ondemand/series/', 'movies', 'channel/10002/last/']),
('Nuove Uscite',['/vvvvid/ondemand/series/', 'movies', 'channel/10007/last/']),
('Generi',['/vvvvid/ondemand/series/', 'movies', 'channel/10004/last/?category=']),
('A-Z',['/vvvvid/ondemand/series/', 'movies', 'channel/10003/last/?filter='])
]
show = [('Show {bold} {tv}',['/vvvvid/ondemand/show/', 'peliculas', '', 'tvshow']),
('Popolari {submenu} {tv}',['/vvvvid/ondemand/show/', 'peliculas', 'channel/10002/last/', 'tvshow']),
('Nuove Uscite {submenu} {tv}',['/vvvvid/ondemand/show/', 'peliculas', 'channel/10007/last/', 'tvshow']),
('Generi {submenu} {tv}',['/vvvvid/ondemand/show/', 'peliculas', 'channel/10004/last/?category=', 'tvshow']),
('A-Z {submenu} {tv}',['/vvvvid/ondemand/show/', 'peliculas', 'channel/10003/last/?filter=', 'tvshow']),
show = [('Show {bold} {tv}',['/vvvvid/ondemand/show/', 'movies', '', 'tvshow']),
('Popolari {submenu} {tv}',['/vvvvid/ondemand/show/', 'movies', 'channel/10002/last/', 'tvshow']),
('Nuove Uscite {submenu} {tv}',['/vvvvid/ondemand/show/', 'movies', 'channel/10007/last/', 'tvshow']),
('Generi {submenu} {tv}',['/vvvvid/ondemand/show/', 'movies', 'channel/10004/last/?category=', 'tvshow']),
('A-Z {submenu} {tv}',['/vvvvid/ondemand/show/', 'movies', 'channel/10003/last/?filter=', 'tvshow']),
('Cerca Show... {bold submenu} {tv}', ['/vvvvid/ondemand/show/', 'search', '', 'tvshow'])
]
kids = [('Kids {bold}',['/vvvvid/ondemand/kids/', 'peliculas', '', 'tvshow']),
('Popolari {submenu} {kids}',['/vvvvid/ondemand/kids/', 'peliculas', 'channel/10002/last/', 'tvshow']),
('Nuove Uscite {submenu} {kids}',['/vvvvid/ondemand/kids/', 'peliculas', 'channel/10007/last/', 'tvshow']),
('Generi {submenu} {kids}',['/vvvvid/ondemand/kids/', 'peliculas', 'channel/10004/last/?category=', 'tvshow']),
('A-Z {submenu} {kids}',['/vvvvid/ondemand/kids/', 'peliculas', 'channel/10003/last/?filter=', 'tvshow']),
kids = [('Kids {bold}',['/vvvvid/ondemand/kids/', 'movies', '', 'tvshow']),
('Popolari {submenu} {kids}',['/vvvvid/ondemand/kids/', 'movies', 'channel/10002/last/', 'tvshow']),
('Nuove Uscite {submenu} {kids}',['/vvvvid/ondemand/kids/', 'movies', 'channel/10007/last/', 'tvshow']),
('Generi {submenu} {kids}',['/vvvvid/ondemand/kids/', 'movies', 'channel/10004/last/?category=', 'tvshow']),
('A-Z {submenu} {kids}',['/vvvvid/ondemand/kids/', 'movies', 'channel/10003/last/?filter=', 'tvshow']),
('Cerca Kids... {bold submenu} {kids}', ['/vvvvid/ondemand/kids/', 'search', '', 'tvshow'])
]
else:
@@ -75,7 +75,7 @@ def search(item, text):
else: item.contentType = 'tvshow'
item.search = text
try:
itemlist = peliculas(item)
itemlist = movies(item)
except:
import sys
for line in sys.exc_info():
@@ -84,22 +84,22 @@ def search(item, text):
return itemlist
def newest(categoria):
def newest(category):
item = support.Item()
item.args = 'channel/10007/last/'
if categoria == 'peliculas':
if category == 'movie':
item.contentType = 'movie'
item.url = main_host + 'film/'
if categoria == 'series':
if category == 'tvshow':
item.contentType = 'tvshow'
item.url = main_host + 'series/'
if categoria == 'anime':
if category == 'anime':
item.contentType = 'tvshow'
item.url = main_host + 'anime/'
return peliculas(item)
return movies(item)
def peliculas(item):
def movies(item):
itemlist = []
# logger.dbg()
@@ -107,7 +107,7 @@ def peliculas(item):
json_file =loadjs(item.url + 'channel/10005/last/')
logger.debug(json_file)
make_itemlist(itemlist, item, json_file)
itemlist = support.pagination(itemlist, item, 'peliculas')
itemlist = support.pagination(itemlist, item, 'movies')
if item.contentType != 'movie': autorenumber.start(itemlist)
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
@@ -124,7 +124,7 @@ def peliculas(item):
itemlist.append(
item.clone(title = support.typo(key.upper() if Filter == 'filter' else key['name'], 'bold'),
url = item.url + item.args + (key if Filter == 'filter' else str(key['id'])),
action = 'peliculas',
action = 'movies',
args = 'filters'))
else:
@@ -138,7 +138,7 @@ def peliculas(item):
return itemlist
def episodios(item):
def episodes(item):
itemlist = []
if item.episodes:
episodes = item.episodes
@@ -230,7 +230,7 @@ def make_itemlist(itemlist, item, data):
fulltitle= title,
show= title,
url= main_host + str(key['show_id']) + '/seasons/',
action= 'findvideos' if item.contentType == 'movie' else 'episodios',
action= 'findvideos' if item.contentType == 'movie' else 'episodes',
contentType = item.contentType,
contentSerieName= fulltitle if item.contentType != 'movie' else '',
contentTitle= fulltitle if item.contentType == 'movie' else '',