def discover_list(item): import datetime itemlist = [] year = 0 if item.discovery and not item.discovery.get("language", ""): item.discovery["language"] = def_lang tmdb_inf = tmdb.discovery(item, dict_=item.discovery, cast=item.cast_) result = tmdb_inf.results tvshow = False for elem in result: elem = tmdb_inf.get_infoLabels(elem, origen=elem) if 'title' in elem: title = unify.normalize(elem['title']).capitalize() else: title = unify.normalize(elem['name']).capitalize() tvshow = True elem['tmdb_id'] = elem['id'] mode = item.mode or elem['media_type'] thumbnail = elem.get('thumbnail', '') fanart = elem.get('fanart', '') if item.cast_: release = elem.get('release_date', '0000') or elem.get('first_air_date', '0000') year = scrapertools.find_single_match(release, r'(\d{4})') if not item.cast_ or (item.cast_ and (int(year) <= int(datetime.datetime.today().year))): new_item = Item(channel='search', title=title, infoLabels=elem, action='channel_search', text=title, thumbnail=thumbnail, fanart=fanart, context='', mode=mode, release_date=year) if tvshow: new_item.contentSerieName = title else: new_item.contentTitle = title itemlist.append(new_item) itemlist = set_context(itemlist) if item.cast_: itemlist.sort(key=lambda it: int(it.release_date), reverse=True) return itemlist elif len(result) > 19 and item.discovery: item.discovery['page'] = str(int(item.discovery['page']) + 1) itemlist.append(Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70065), list_type=item.list_type, discovery=item.discovery, mode=item.mode, text_color='gold')) elif len(result) > 19: next_page = str(int(item.page) + 1) itemlist.append(Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70065), list_type=item.list_type, search_type=item.search_type, mode=item.mode, page=next_page, text_color='gold')) return itemlist
def discover_list(item): from platformcode import unify from core import scrapertools itemlist = [] result = tmdb.discovery(item) tvshow = False logger.debug(item) for elem in result: elem['tmdb_id'] = elem['id'] if 'title' in elem: title = unify.normalize(elem['title']).capitalize() elem['year'] = scrapertools.find_single_match( elem['release_date'], '(\d{4})-\d+-\d+') else: title = unify.normalize(elem['name']).capitalize() tvshow = True new_item = Item(channel='searchall', title=title, infoLabels=elem, action='search_tmdb', extra=title, category='Resultados', context='') if tvshow: new_item.contentSerieName = title else: new_item.contentTitle = title itemlist.append(new_item) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) if item.page != '' and len(itemlist) > 0: next_page = str(int(item.page) + 1) # if not 'similar' in item.list_type: # itemlist.append(item.clone(title='Pagina Siguente', page=next_page)) # else: itemlist.append( Item(channel=item.channel, action='discover_list', title=config.get_localized_string(30992), text_color="orange", search_type=item.search_type, list_type=item.list_type, type=item.type, page=next_page)) return itemlist