potenziato match tmdb e alcuni fix per la ricerca globale
This commit is contained in:
@@ -110,6 +110,7 @@ def peliculas(item):
|
||||
patron = r'<li><a href="(?P<url>[^"]+)"[^=]+="(?P<thumb>[^"]+)"><div> <div[^>]+>(?P<title>[^\(\[<]+)(?:\[(?P<quality1>HD)\])?[ ]?(?:\(|\[)?(?P<lang>Sub-ITA)?(?:\)|\])?[ ]?(?:\[(?P<quality>.+?)\])?[ ]?(?:\((?P<year>\d+)\))?<'
|
||||
|
||||
patronNext = r'<a href="([^"]+)" >Pagina'
|
||||
# debug = True
|
||||
|
||||
def itemHook(item):
|
||||
if item.quality1:
|
||||
@@ -120,6 +121,8 @@ def peliculas(item):
|
||||
item.title += support.typo(item.lang2, '_ [] color kod')
|
||||
if item.args == 'novita':
|
||||
item.title = item.title
|
||||
if 'wp-content' in item.thumbnail and not item.infoLabels['year']:
|
||||
item.infoLabels['year'] = item.thumbnail.split('/')[5]
|
||||
return item
|
||||
return locals()
|
||||
|
||||
|
||||
@@ -10,8 +10,6 @@ from core.item import Item
|
||||
from platformcode import config
|
||||
|
||||
|
||||
|
||||
|
||||
# rimanda a .today che contiene tutti link a .plus
|
||||
# def findhost():
|
||||
# permUrl = httptools.downloadpage('https://www.cinemalibero.online/', follow_redirects=False).headers
|
||||
@@ -121,9 +119,9 @@ def genres(item):
|
||||
|
||||
def search(item, texto):
|
||||
support.log(item.url,texto)
|
||||
text = texto.replace(' ', '+')
|
||||
texto = texto.replace(' ', '+')
|
||||
item.url = host + "/?s=" + texto
|
||||
item.contentType = 'tv'
|
||||
# item.contentType = 'tv'
|
||||
item.args = 'search'
|
||||
try:
|
||||
return peliculas(item)
|
||||
|
||||
@@ -20,20 +20,20 @@ headers = [['Referer', host]]
|
||||
def mainlist(item):
|
||||
|
||||
menu = [
|
||||
('BDRiP {film}', ['/categoria.php?active=0&category=1&order=data&by=DESC&page=', 'peliculas', [0, 'movie', True]]),
|
||||
('Cerca BDRiP... {submenu} {film}', ['/torrent-ita/1/', 'search', ['search', 'movie', True]]),
|
||||
('DVD {film}', ['/categoria.php?active=0&category=20&order=data&by=DESC&page=', 'peliculas', [0, 'movie', True]]),
|
||||
('Cerca DVD... {submenu} {film}', ['/torrent-ita/20/', 'search', ['search', 'movie', True]]),
|
||||
('Screener {film}', ['/categoria.php?active=0&category=19&order=data&by=DESC&page=', 'peliculas', [0, 'movie', True]]),
|
||||
('Cerca Screener.. {submenu} {film}', ['/torrent-ita/19/', 'search', ['search', 'movie', True]]),
|
||||
('Serie TV', ['/categoria.php?active=0&category=15&order=data&by=DES&page=', 'peliculas', [0 , 'tvshow', True]]),
|
||||
('Cerca Serie TV.. {submenu}', ['/torrent-ita/15/', 'search', ['search', 'tvshow',True]]),
|
||||
('Anime', ['/categoria.php?active=0&category=5&order=data&by=DESC&page=', 'peliculas', [0, 'anime', True]]),
|
||||
('Cerca Anime.. {submenu}', ['/torrent-ita/5/', 'search', ['search', 'anime', True]]),
|
||||
('Musica', ['/categoria.php?active=0&category=2&order=data&by=DESC&page=', 'peliculas', [0, 'music', False]]),
|
||||
('Cerca Musica.. {submenu}', ['/torrent-ita/2/', 'search', ['search', 'music', False]]),
|
||||
('Audiolibri {musica}', ['/categoria.php?active=0&category=18&order=data&by=DESC&page=', 'peliculas', [0, 'music', False]]),
|
||||
('Cerca Audiolibri.. {submenu}', ['/torrent-ita/18/', 'search', ['search', 'music', False]]),
|
||||
('BDRiP {film}', ['/categoria.php?active=0&category=1&order=data&by=DESC&page=', 'peliculas', [0, 'movie', True], 'movie']),
|
||||
('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], 'movie']),
|
||||
('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], 'movie']),
|
||||
('Cerca Screener.. {submenu} {film}', ['/torrent-ita/19/', 'search', ['search', 'movie', True], 'movie']),
|
||||
('Serie TV', ['/categoria.php?active=0&category=15&order=data&by=DES&page=', 'peliculas', [0 , 'tvshow', True], 'tvshow']),
|
||||
('Cerca Serie TV.. {submenu}', ['/torrent-ita/15/', 'search', ['search', 'tvshow',True], 'tvshow']),
|
||||
('Anime', ['/categoria.php?active=0&category=5&order=data&by=DESC&page=', 'peliculas', [0, 'anime', True], 'tvshow']),
|
||||
('Cerca Anime.. {submenu}', ['/torrent-ita/5/', 'search', ['search', 'anime', True], 'tvshow']),
|
||||
('Musica', ['/categoria.php?active=0&category=2&order=data&by=DESC&page=', 'peliculas', [0, 'music', False], 'music']),
|
||||
('Cerca Musica.. {submenu}', ['/torrent-ita/2/', 'search', ['search', 'music', False], 'music']),
|
||||
('Audiolibri {musica}', ['/categoria.php?active=0&category=18&order=data&by=DESC&page=', 'peliculas', [0, 'music', False], 'music']),
|
||||
('Cerca Audiolibri.. {submenu}', ['/torrent-ita/18/', 'search', ['search', 'music', False], 'music']),
|
||||
# mostrerebbe anche risultati non "multimediali" e allungherebbero inutilmente la ricerca globale
|
||||
# ('Altro {film}', ['/categoria.php?active=0&category=4&order=data&by=DESC&page=', 'peliculas', [0, 'other', False]]),
|
||||
# ('Cerca altro.. {submenu}', ['/torrent-ita/4/', 'search', ['search', 'other', False]]),
|
||||
@@ -53,10 +53,6 @@ def peliculas(item):
|
||||
patron = r'>(?P<quality>[^"<]+)'
|
||||
patron += '</td> <TD[^>]+><A class="tab" HREF="(?P<url>[^"]+)"\s*>(?P<title>[^<]+)<[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>(?P<size>[^<]+)<[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>(?P<seed>[^<]+)'
|
||||
|
||||
def itemHook(item):
|
||||
item.contentType = item.args[1]
|
||||
|
||||
return item
|
||||
if 'search' not in item.args:
|
||||
item.url += str(item.args[0])
|
||||
def itemlistHook(itemlist):
|
||||
|
||||
@@ -320,12 +320,17 @@ def scrapeBlock(item, args, block, patron, headers, action, pagination, debug, t
|
||||
longtitle += 'x' + str(parsedTitle.get('episode')[0]).zfill(2) + '-' + str(parsedTitle.get('episode')[-1]).zfill(2)
|
||||
else:
|
||||
longtitle += 'x' + str(parsedTitle.get('episode')).zfill(2)
|
||||
|
||||
item.contentSeason = parsedTitle.get('season')
|
||||
item.contentEpisodeNumber = parsedTitle.get('episode')
|
||||
elif parsedTitle.get('season') and type(parsedTitle.get('season')) == list:
|
||||
longtitle += s + config.get_localized_string(30140) + " " +str(parsedTitle.get('season')[0]) + '-' + str(parsedTitle.get('season')[-1])
|
||||
elif parsedTitle.get('season'):
|
||||
longtitle += s + config.get_localized_string(60027) % str(parsedTitle.get('season'))
|
||||
item.contentSeason = parsedTitle.get('season')
|
||||
if parsedTitle.get('episode_title'):
|
||||
longtitle += s + parsedTitle.get('episode_title')
|
||||
item.contentEpisodeTitle = parsedTitle.get('episode_title')
|
||||
except:
|
||||
log('Error')
|
||||
|
||||
|
||||
45
core/tmdb.py
45
core/tmdb.py
@@ -444,23 +444,54 @@ def set_infoLabels_item(item, seekTmdb=True, idioma_busqueda=def_lang, lock=None
|
||||
# The search has found a valid result
|
||||
__leer_datos(otmdb)
|
||||
return len(item.infoLabels)
|
||||
|
||||
# title might contain - or : --> try to search only second title
|
||||
def splitTitle():
|
||||
if '-' in item.fulltitle:
|
||||
item.infoLabels['tvshowtitle'] = item.fulltitle.split('-')[1]
|
||||
item.infoLabels['title'] = item.infoLabels['tvshowtitle']
|
||||
elif ':' in item.fulltitle:
|
||||
item.infoLabels['tvshowtitle'] = item.fulltitle.split(':')[1]
|
||||
item.infoLabels['title'] = item.infoLabels['tvshowtitle']
|
||||
else:
|
||||
return False
|
||||
return True
|
||||
# We check what type of content it is...
|
||||
if item.contentType == 'movie':
|
||||
tipo_busqueda = 'movie'
|
||||
elif item.contentType == 'undefined': # don't know
|
||||
results = search(otmdb_global, 'movie')
|
||||
if results:
|
||||
item.contentType = 'movie'
|
||||
else:
|
||||
elif item.contentType == 'undefined': # don't know
|
||||
def detect():
|
||||
# try movie first
|
||||
results = search(otmdb_global, 'movie')
|
||||
if results:
|
||||
item.contentType = 'movie'
|
||||
infoMovie = item.infoLabels
|
||||
if infoMovie['title'] == item.fulltitle: # exact match -> it's probably correct
|
||||
return results
|
||||
|
||||
# try tvshow then
|
||||
item.infoLabels = {'tvshowtitle': item.infoLabels['tvshowtitle']} # reset infolabels
|
||||
results = search(otmdb_global, 'tv')
|
||||
if results:
|
||||
item.contentType = 'tvshow'
|
||||
else:
|
||||
item.infoLabels = infoMovie
|
||||
|
||||
return results
|
||||
|
||||
results = detect()
|
||||
if not results:
|
||||
if splitTitle():
|
||||
results = detect()
|
||||
return results
|
||||
else:
|
||||
tipo_busqueda = 'tv'
|
||||
|
||||
return search(otmdb_global, tipo_busqueda)
|
||||
|
||||
ret = search(otmdb_global, tipo_busqueda)
|
||||
if not ret:
|
||||
if splitTitle():
|
||||
ret = search(otmdb_global, tipo_busqueda)
|
||||
return ret
|
||||
# Search in tmdb is deactivated or has not given result
|
||||
# item.contentType = item.infoLabels['mediatype']
|
||||
return -1 * len(item.infoLabels)
|
||||
|
||||
@@ -172,7 +172,6 @@ def channel_search(item):
|
||||
valid = list()
|
||||
ch_list = dict()
|
||||
mode = item.mode
|
||||
max_results = 10
|
||||
|
||||
if item.infoLabels['tvshowtitle']:
|
||||
item.text = item.infoLabels['tvshowtitle'].split('-')[0]
|
||||
@@ -262,8 +261,8 @@ def channel_search(item):
|
||||
ch_name = channel_titles[channel_list.index(key)]
|
||||
grouped = list()
|
||||
cnt += 1
|
||||
progress.update(old_div((cnt * 100), len(ch_list)), config.get_localized_string(60295), config.get_localized_string(60293))
|
||||
if len(value) <= max_results and item.mode != 'all':
|
||||
progress.update(old_div((cnt * 100), len(ch_list)), config.get_localized_string(60295) + '\n' + config.get_localized_string(60293))
|
||||
if item.mode != 'all':
|
||||
if len(value) == 1:
|
||||
if not value[0].action or config.get_localized_string(70006).lower() in value[0].title.lower():
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user