a1ex4 / script.quasar.t411

T411 Quasar Provider pour Kodi
0 stars 0 forks source link

Titre VF trop long pour etre trouvé sur t411 #7

Open Paco112 opened 7 years ago

Paco112 commented 7 years ago

La recherche t411 n'étant pas très optimal certains films sont introuvables avec leur titre complet alors qu'ils existes bien sur t411.

Exemple le film d'animation "Sausage Party", le titre VF complet est "Sausage Party : La vie privée des aliments". hors avec le titre complet t411 ne trouve rien.

Je propose donc de splitter les titres comprenant le symbole " : " pour ne garder que la 1ere partie du titre.

 if(titreVF == 'true') :
    #quasar 0.2 doesn't work well with foreing title. Get the FRENCH title from TMDB
    provider.log.debug('Get FRENCH title from TMDB for %s' % movie['imdb_id'])
    response = provider.GET("%s/movie/%s?api_key=%s&language=fr&external_source=imdb_id&append_to_response=alternative_titles" % (tmdbUrl, movie['imdb_id'], tmdbKey))
    if response != (None, None):
        movie['title'] = response.json()['title'].encode('utf-8')
        movie['title'] = movie['title'].split(' : ')[0] ## SPLIT LONG TITLE 
        provider.log.info('FRENCH title :  %s' % movie['title'])
        global msg
        msg = movie['title']
    else :
        provider.log.error('Error when calling TMDB. Use quasar movie data.')
Paco112 commented 7 years ago

Afin d'affiner les résultats je propose également d'ajouter l'année de production du film en cas de SPLIT car très souvent elle est dans le titre des torrent t411.

Cela permet ainsi de corriger le problème par exemple pour le film "The Dark Knight : Le Chevalier noir" car une fois splité la recherche sort également "The Dark Knight Rises" qui n'est pas le même film mais avec "The Dark Knight 2008" les résultats sont propre et plus complet qu'avec "The Dark Knight : Le Chevalier noir".

if(titreVF == 'true') :
    #quasar 0.2 doesn't work well with foreing title. Get the FRENCH title from TMDB
    provider.log.debug('Get FRENCH title from TMDB for %s' % movie['imdb_id'])
    response = provider.GET("%s/movie/%s?api_key=%s&language=fr&external_source=imdb_id&append_to_response=alternative_titles" % (tmdbUrl, movie['imdb_id'], tmdbKey))
    if response != (None, None):
        response = response.json()
        movie['title'] = response['title'].encode('utf-8')
        if movie['title'].find(' : ') != -1:
            movie['title'] = movie['title'].split(' : ')[0] ## SPLIT LONG TITLE
            movie['title'] = movie['title'] + ' ' + response['release_date'].split('-')[0] ## ADD YEAR
        provider.log.info('FRENCH title :  %s' % movie['title'])
        global msg
        msg = movie['title']
    else :
        provider.log.error('Error when calling TMDB. Use quasar movie data.')
Paco112 commented 7 years ago

Juste pour info j'ai forké ton code et je compte continuer de l'améliorer : https://github.com/Paco112/script.quasar.t411

a1ex4 commented 7 years ago

Okay pas de soucis, tu peux faire des pull requests ou dev de ton côté, je n'ai plus trop le temps en ce moment. Par contre je pense pas que garder seulement ce qui précede le " : " soit une bonne idée, exemple avec Captain America la recherche sera inutile.

Paco112 commented 7 years ago

C'est pourquoi j'ai ajouté la date de production du film pour contourner ce problème, je t'invite à tester ma release 1.5, tu pourra constater que ça fonctionne très bien avec "Captain America"

Paco112 commented 7 years ago

J'ai également ajouté la catégorie "Emission TV" sur cette release qui fonctionne exactement comme les series.