Completato tapmovie

This commit is contained in:
mac12m99
2021-06-02 20:07:46 +02:00
parent a561e67735
commit d32349d33b

View File

@@ -4,9 +4,13 @@
from core import support, httptools
from core.item import Item
import sys
if sys.version_info[0] >= 3: from concurrent import futures
else: from concurrent_py2 import futures
host = support.config.get_channel_url()
api_url = '/api/v2/'
per_page = 24
@support.menu
@@ -16,7 +20,7 @@ def mainlist(item):
search = ''
# [Voce Menu,['url','action','args',contentType]
# top = [('Generi', ['', 'genres', '', 'undefined'])]
top = [('Generi', ['', 'genres', '', 'undefined'])]
return locals()
@@ -31,7 +35,7 @@ def peliculas(item):
itemlist.append(item.clone(id=i.get('id'), title=i.get('title'), contentTitle=i.get('title'), contentSerieName='' if movie else i.get('title'),
contentPlot=i.get('description'), thumbnail=i.get('poster'),
fanart=i.get('backdrop'), year=i.get('year'), action=action,
url='{}/{}/{}-{}'.format(host, item.contentType, i.get('id'), support.scrapertools.slugify(i.get('title')))))
url='{}/{}/{}-{}'.format('https://filmigratis.org', item.contentType, i.get('id'), support.scrapertools.slugify(i.get('title')))))
support.tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
return itemlist
@@ -40,32 +44,62 @@ def episodios(item):
support.info(item)
itemlist = []
for season in httptools.downloadpage(host + api_url + 'tvshow', post={'tvshow_id': item.id}).json.get('season', []):
season_id = season['season_number']
for episode in httptools.downloadpage(host + api_url + 'episodes', post={'tvshow_id': item.id, 'season_id': season_id}).json.get('episodes', []):
itemlist.append(item.clone(action="findvideos", contentSeason=season_id, contentEpisodeNumber=episode['episode_number'], id=item.id,
title=str(season_id)+'x'+episode['episode_number'], contentType='episode'))
with futures.ThreadPoolExecutor() as executor:
thL = []
for season in httptools.downloadpage(host + api_url + 'tvshow', post={'tvshow_id': item.id}).json.get('season', []):
season_id = season['season_number']
thL.append(executor.submit(httptools.downloadpage, host + api_url + 'episodes', post={'tvshow_id': item.id, 'season_id': season_id}))
for th in futures.as_completed(thL):
for episode in th.result().json.get('episodes', []):
itemlist.append(item.clone(action="findvideos", contentSeason=episode['season_id'], contentEpisodeNumber=episode['episode_number'], id=item.id,
title=episode['season_id']+'x'+episode['episode_number'], contentType='episode'))
support.scraper.sort_episode_list(itemlist)
support.videolibrary(itemlist, item)
support.download(itemlist, item)
return itemlist
def search(item, text):
def genres(item):
itemlist = []
for n, genre in enumerate(httptools.downloadpage(host + api_url + 'categories', post={}).json.get('categories', [])):
itemlist.append(item.clone(action="search_", genre=genre.get('name'), title=genre.get('value'), n=n))
return support.thumb(itemlist, genre=True)
def search_(item, text=''):
support.info('search', item)
itemlist = []
for result in httptools.downloadpage(host + api_url + 'search', post={'search': text}).json.get('results', []):
if item.genre:
text = item.genre
cmd = 'search/category'
else:
cmd = 'search'
try:
page = int(item.url.split('?p=')[1])
except:
page = 1
results = httptools.downloadpage(host + api_url + cmd, post={'search': text, 'page': page}).json.get('results', [])
for result in results:
contentType = 'movie' if result['type'] == 'FILM' else 'tvshow'
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',
url='{}/{}/{}-{}'.format(host, contentType, result.get('id'), support.scrapertools.slugify(result.get('title'))),
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)
if len(results) >= per_page:
page += 1
support.nextPage(itemlist, item, next_page='https://filmigratis.org/category/' + str(item.n) + '/' + item.genre + '?p=' + str(page))
return itemlist
def search(item, text):
return search_(item, text)
def findvideos(item):
itemlist = []
if not item.contentSeason: # film