def showSeriesEpisode(): grab = cTMDb() addons = addon() POSTER_URL = ('https://image.tmdb.org/t/p/%s') % ( addons.getSetting('poster_tmdb')) FANART_URL = ('https://image.tmdb.org/t/p/%s') % ( addons.getSetting('backdrop_tmdb')) oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sFanart = oInputParameterHandler.getValue('sFanart') sTmdbId = oInputParameterHandler.getValue('sTmdbId') sSeason = oInputParameterHandler.getValue('sSeason') #sId = oInputParameterHandler.getValue('sId') if sSeason == False: sSeason = sUrl.split('/')[-1] if sFanart == False: sFanart = '' oGui = cGui() #recherche saison complete oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', sMovieTitle) #oOutputParameterHandler.addParameter('type', 'serie') search = '%s S%02d' % (sMovieTitle, int(sSeason)) #oOutputParameterHandler.addParameter('searchtext', search) oOutputParameterHandler.addParameter('searchtext', cUtil().CleanName(search)) oGuiElement = cGuiElement() oGuiElement.setSiteName('globalSearch') oGuiElement.setFunction('searchMovie') oGuiElement.setTitle(addons.VSlang(30415)) oGuiElement.setCat(2) oGuiElement.setIcon("searchtmdb.png") oGui.addFolder(oGuiElement, oOutputParameterHandler) #oGui.addDir('cHome', 'showSearch', addons.VSlang(30415), 'searchtmdb.png', oOutputParameterHandler) #fin result = grab.getUrl(sUrl) total = len(result) dialog = progress() dialog.VScreate(SITE_NAME) if (total > 0): total = len(result['episodes']) progress_ = progress().VScreate(SITE_NAME) for i in result['episodes']: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break #sId, sTitle, sOtitle, sThumb, sFanart = i['id'], i['name'], i['original_name'], i['poster_path'], i['backdrop_path'] sdate, sIdEp, sEpNumber, sName, sThumb, SResume = i['air_date'], i[ 'id'], i['episode_number'], i['name'], i['still_path'], i[ 'overview'] sName = sName.encode("utf-8") if sName == '': sName = sMovieTitle if sThumb: sThumb = POSTER_URL + sThumb else: sThumb = '' #sTitle = '[COLOR coral]S' + sSeason + 'E' + str(sEpNumber) + '[/COLOR] - ' + sName sTitle = 'S%s E%s %s' % (sSeason, str(sEpNumber), sName) sExtraTitle = ' S' + "%02d" % int(sSeason) + 'E' + "%02d" % int( sEpNumber) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter( 'siteUrl', sMovieTitle + '|' + sExtraTitle) #Pour compatibilite Favoris oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sTmdbId', sTmdbId) oOutputParameterHandler.addParameter('sSeason', sSeason) oOutputParameterHandler.addParameter('sEpisode', sEpNumber) oOutputParameterHandler.addParameter('type', 'serie') oOutputParameterHandler.addParameter( 'searchtext', cUtil().CleanName(sMovieTitle)) #oGui.addTVDB('globalSearch', 'showHosters', sTitle, 'series.png', sThumb, sFanart, oOutputParameterHandler) cGui.CONTENT = "tvshows" oGuiElement = cGuiElement() oGuiElement.setTmdbId(sTmdbId) oGuiElement.setSiteName('globalSearch') oGuiElement.setFunction('showSearch') oGuiElement.setTitle(sTitle) oGuiElement.setFileName(sMovieTitle) oGuiElement.setIcon('series.png') oGuiElement.setMeta(2) oGuiElement.setMetaAddon('true') #oGuiElement.setThumbnail(sThumb) #oGuiElement.setFanart(sFanart) oGuiElement.setCat(2) oGui.addFolder(oGuiElement, oOutputParameterHandler) progress_.VSclose(progress_) #tchnagement mode view = addons.getSetting('visuel-view') oGui.setEndOfDirectory(view)
def showActors(): oGui = cGui() grab = cTMDb() addons = addon() POSTER_URL = ('https://image.tmdb.org/t/p/%s') % ( addons.getSetting('poster_tmdb')) FANART_URL = ('https://image.tmdb.org/t/p/%s') % ( addons.getSetting('backdrop_tmdb')) oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') iPage = 1 if (oInputParameterHandler.exist('page')): iPage = oInputParameterHandler.getValue('page') result = grab.getUrl(sUrl, iPage) total = len(result) dialog = progress() dialog.VScreate(SITE_NAME) if (total > 0): total = len(result['results']) progress_ = progress().VScreate(SITE_NAME) for i in result['results']: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break sName, sThumb = i['name'], i['profile_path'] if sThumb: sThumb = POSTER_URL + sThumb else: sThumb = '' oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sThumb', sThumb) sName = sName.encode('utf-8') oOutputParameterHandler.addParameter( 'siteUrl', 'person/' + str(i['id']) + '/movie_credits') #oGui.addMovieDB(SITE_IDENTIFIER, 'showFilmActor', '[COLOR red]'+str(sName)+'[/COLOR]', '', sThumb, '', oOutputParameterHandler) sTitle = '[COLOR red]' + str(sName) + '[/COLOR]' oGuiElement = cGuiElement() oGuiElement.setSiteName(SITE_IDENTIFIER) oGuiElement.setFunction('showFilmActor') oGuiElement.setTitle(sTitle) oGuiElement.setFileName(sName) oGuiElement.setIcon('actors.png') oGuiElement.setMeta(0) oGuiElement.setThumbnail(sThumb) oGuiElement.setPoster(sThumb) oGuiElement.setCat(7) oGui.addFolder(oGuiElement, oOutputParameterHandler) progress_.VSclose(progress_) if (iPage > 0): iNextPage = int(iPage) + 1 oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('page', iNextPage) oGui.addNext(SITE_IDENTIFIER, 'showActors', '[COLOR teal]Page ' + str(iNextPage) + ' >>>[/COLOR]', oOutputParameterHandler) view = addons.getSetting('visuel-view') oGui.setEndOfDirectory(view)
def showActors(sSearch=''): oGui = cGui() grab = cTMDb() addons = addon() POSTER_URL = ('https://image.tmdb.org/t/p/%s') % ( addons.getSetting('poster_tmdb')) FANART_URL = ('https://image.tmdb.org/t/p/%s') % ( addons.getSetting('backdrop_tmdb')) oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') iPage = 1 if (oInputParameterHandler.exist('page')): iPage = oInputParameterHandler.getValue('page') if (oInputParameterHandler.exist('sSearch')): sSearch = oInputParameterHandler.getValue('sSearch') if sSearch: # format obligatoire evite de modif le format de l'url dans la lib >> _call # a cause d'un ? pas ou il faut pour ça >> invalid api key result = grab.getUrl(sUrl, iPage, 'query=' + sSearch) else: result = grab.getUrl(sUrl, iPage) total = len(result) dialog = progress() dialog.VScreate(SITE_NAME) if (total > 0): total = len(result['results']) progress_ = progress().VScreate(SITE_NAME) # récup le nombre de page pour NextPage nbrpage = result['total_pages'] for i in result['results']: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break sName, sThumb = i['name'], i['profile_path'] if sThumb: sThumb = POSTER_URL + sThumb else: sThumb = '' oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sThumb', sThumb) sName = sName.encode('utf-8') oOutputParameterHandler.addParameter( 'siteUrl', 'person/' + str(i['id']) + '/movie_credits') # oGui.addMovieDB(SITE_IDENTIFIER, 'showFilmActor', '[COLOR red]'+str(sName)+'[/COLOR]', '', sThumb, '', oOutputParameterHandler) sTitle = '[COLOR red]' + str(sName) + '[/COLOR]' oGuiElement = cGuiElement() oGuiElement.setSiteName(SITE_IDENTIFIER) oGuiElement.setFunction('showFilmActor') oGuiElement.setTitle(sTitle) oGuiElement.setFileName(sName) oGuiElement.setIcon('actors.png') oGuiElement.setMeta(0) oGuiElement.setThumbnail(sThumb) oGuiElement.setPoster(sThumb) oGuiElement.setCat(7) oGui.addFolder(oGuiElement, oOutputParameterHandler) progress_.VSclose(progress_) if (int(iPage) < int(nbrpage)): iNextPage = int(iPage) + 1 oOutputParameterHandler = cOutputParameterHandler() # ajoute param sSearch pour garder le bon format d'url avec grab url if sSearch: oOutputParameterHandler.addParameter('sSearch', sSearch) oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('page', iNextPage) oGui.addNext(SITE_IDENTIFIER, 'showActors', '[COLOR teal]Page ' + str(iNextPage) + ' >>>[/COLOR]', oOutputParameterHandler) view = addons.getSetting('visuel-view') oGui.setEndOfDirectory(view)