Kodi-vStream / venom-xbmc-addons

Addon de Streaming français pour Xbmc
GNU General Public License v3.0
492 stars 275 forks source link

Idée popup de recherche #667

Closed LordVenom closed 7 years ago

LordVenom commented 7 years ago

Faire une recherche personnaliser en popup Je click sur recherche vStream on a film, series, manga, doc et perso mais elle n'est pas memoriser ça ouvre un popup avec les sources pour choisir.

Et vous en penser quoi vous ?

TmpName commented 7 years ago

Heu, c'est la fin de semaine, suis un poil a la ramasse mais j'ai pas tout compris. Moi quand je clique sur recherche Vstream ( dans la recherche visuelle) ca m'affiche mes 4 moteurs configures et apres ca lance directement la recherche sur les sites que j'ai moi meme configure sur le moteur.

Pour le popup multiselect, c'est possible mais il te faut toi meme refaire un dialog de A a Z avec un fichier xml par exemple, ou je crois meme que via du code tu peux refaire un dialog complet, mais j'ai deja essaye juste pour rajouter un boutton sur un dialog kodi, et j'ai laisse tomber.

Sinon en hors sujet, j'attend ton feu vert pr tester trakt, ca en est ou ?

LordVenom commented 7 years ago

Exacte dans la popup tu a film, serie ect.. et je veut ajouter perso juste 1 puis figer les recherches elle ne seront plus modifiable dans les préférences, je doute que beaucoup de gens l'utilise c'est compliquer comme system mais c'est qu'une idée.

Donc ont click sur recherche ont n'a nos film, serie et le perso qui ouvre un popup ou tu peux séléctionner tes sources de recherche.

edit track et quazi fini il reste les liens pour faire la recherche mais c'est pas le plus dur a faire.

ghost commented 7 years ago

Le but est de mémorisé ces sites préferés pour la recherche avec une popup au niveau de film serie anim ? Genre clique droit sur serie je selectionne les sites ou vstream doit recherché

LordVenom commented 7 years ago

non le but et de mémoriser ces sites préfères sur 1 seul sources "personnelle"

Popup de recherche vStream

LordVenom commented 7 years ago

Je sais pas quand il l'on mis mais le multiselect existe

dialog = xbmcgui.Dialog() ret = dialog.multiselect("Choose something", ["Foo", "Bar", "Baz"])

TmpName commented 7 years ago

D'accord avec le fait que c'est trop la misere via le menu de config mais de figer les recherches je suis pas pour. Ca ne se limite pas a film/serie/docu/anime L' user peut faire, ZT/Vieux film/Film HD.

Apres suis pour ouvrir un popup pour que l'user choisisse ses moteurs, et meme acceder a ce popup via "toute les sources", on peut meme laisser 50% du menu actuel (recherche 1/2/3/4/perso et le type de recheche) et faire appeller ce popup via le menu de config pour regler les 50% qui reste (le choix des moteurs). Ca c'est plus facile a mettre en oeuvre en plus.

LordVenom commented 7 years ago

Ca bloque pour l'historique le multiselect la l'addon ce souvient de la recherche effectuer grade a sDisp si ont vire ça plus d'historique enfin ont peux l'afficher mais pas le réutiliser.

TmpName commented 7 years ago

Ha oui ca me revient. Ben on desactive l historique pour ce type de recherche, ce n'est pas une recherche "standard" tans pis pour l historique.

J'ai du temps ce WE, dit moi ou tu t es arrette a trakt pour les recherches , que j'y jette un oeuil.

LordVenom commented 7 years ago

Mieux ont creer search5 en sDisp qui ne memorise rien mais affiche toujour la popup de selection des source donc dans l'historique si sDisp = search5 Popup de source. Ca devrais fonctionner.

LordVenom commented 7 years ago

image

LordVenom commented 7 years ago

C'est envoyer vous pouvez tester et me dire.

Note pour trakt j'ai fini mais je bug a la ligne 570

` #{u'not_found': {u'movies': [], u'seasons': [], u'people': [], u'episodes': [], u'shows': []}, u'updated': {u'movies': 0, u'episodes': 0}, u'added': {u'movies': 1, u'episodes': 0}, u'existing': {u'movies': 0, u'episodes': 0}}

affiche le resultas code a l'arache

    cGui().showNofication(str(result))`

J'arrive pas a sortir une info potable de leur dict a afficher en info quand tu supprime ou ajoute un films, series ect.. Exemple la ça a ajouter un films

TmpName commented 7 years ago

Bon ben j'ai la page Home en cache je sais pas ou, meme prb que la derniere fois, ca m'affiche beta serie au lieu de trakt, meme avec le fichier modifie. Me faut attendre.

LordVenom commented 7 years ago

Tu peux créer un fichier keymap.xml dans C:\Users*\AppData\Roaming\Kodi\userdata\keymaps

Tu vide le cache puis F5 ça devrais s'afficher :)

`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

XBMC.ReloadSkin() ShowSubtitles AudioNextLanguage Close `
TmpName commented 7 years ago

Yep. Le seul truc qui a marche vider le cache de kodi, et je passe par l'option de vstream ^^. Vstream va devenir une boite a outil.

La j'ai HTTPError: HTTP Error 401: Unauthorized

Je cherche comment m'authentifier.

C'est bon j'ai du reset mon token, mais la j'ai une page vide.

Edit c'est bon.

TmpName commented 7 years ago

Comment tu arrives a la ligne 570 ? Moi je bloque a la ligne 493

LordVenom commented 7 years ago

Quoi ? en effectuant une action par le menu context n'importe l'aquel ajouter un film a la collection a l'historique un truc qui passe par le context Trakt.

TmpName commented 7 years ago

Ok, v voir. Pour le precedent prb c'etait ma faute, pr le moment tout tourne a fond.

LordVenom commented 7 years ago

ça tourne oui mais c'est coder a l'ancienne lol moi temps que ça marche :)

TmpName commented 7 years ago

Franchement c'est nickel, aucun prb pour recuperer les infos je fais :

xbmc.log(str( result["added"]['movies'] )) xbmc.log(str( result["existing"]['movies'] ))

Le seul prb c'est de devoir activer les metas, je regarde si je peut faire tourner leur api pour avoir le num tmdb via le titre.

TmpName commented 7 years ago

Essayes ca `

def getAction(self):
    sAction = 'https://api.trakt.tv/search/movie?query=tron'
    headers = {'Content-Type': 'application/json', 'trakt-api-key': API_KEY, 'trakt-api-version': API_VERS}

    req = urllib2.Request(sAction, None ,headers)
    response = urllib2.urlopen(req)
    sHtmlContent = response.read()
    result = json.loads(sHtmlContent)
    xbmc.log(str(result))
    for i in result:
        xbmc.log(str(i['movie']['title'].encode('utf-8')) + '=' + str(i['movie']['ids']['imdb']))

`

Plus besoin des metas

TmpName commented 7 years ago

Bon oublis. Trakt ne fonctionne que avec les noms anglais donc leur moteur aussi. Je peux te faire une fonction searchTmdbID(nom_de_film) mais je sais pas si il vaut partir avec l'api de tmdb justement (imbd est en anglais aussi) ou l'api de metahandler. La premiere solution me semble plus legere.

PS : y a une cle Secret_api dans le code de trakt, elle est sence etre publique ?

LordVenom commented 7 years ago

Le probleme c'est le nombre de variable dans le dict ["added"]['movies']["added"]['shows'] ["existing"]['movies']["existing"]['shows'] ["update"]['movies']["update"]['shows'] ["not_found"]['movies']["not_found"]['shows']

Comment je trouve celui qui n'est pas vide pour afficher la bonne réponse dans la popup d'information

Y a une function getTmdb dans trakt qui fonctionne y a juste a adapter pour la recherche de nom. alors rapide Oui mais pas d'entrer dans la base sql et donc pas de cache.

l'autre soucis c'est que trakt ne donne pas d'information sur les films uniquement l'id le titre et donc ça seras bien vide sans les thumbs et les informations

PS: Oui il est publique la seul info sur l'user c'est le token

TmpName commented 7 years ago

Ben not found je vois pas trop dans quel cas tu aura ca dans la mesuere ou on utilise l 'ID, mais si tu essayes de rajouter un film, le resultat dera dans ["added"]['movies'] si c'est 0, le film etait deja la, si 1 tu l'a rajoute.

J'ai pas trouve la fonction getTmdb sur trakt, la seule que j'ai trouve c'est https://api.trakt.tv/search/movie?query= qui ne marche que pr les titres anglais.

Sinon je propose 2 trucs 1 - Faire un topic juste pr trakt ^^, ca commence a me plaire ce truc. 2 - le coupler avec tmd (on a deja la cle) pour les images, en version light, pas besoin de reprendre tout le code du fichier site.

Par contre si il y a vraiment une option getTmdb, ca peut etre pas mal, surtout que en cas de recherche ca retourne les titres en francais, pkoi la recherche avec ne marcherait pas ....

LordVenom commented 7 years ago

Le probleme c'est la boucle pour trouver added['movie'] il faut une bloucle qui me retourne added et movie et 1 pour savoir ce qui a etait ajouter ou supprimer ou not_found et pouvoir l'affiche en popup info

Exemple si j'ajoute un film la popup me retourne add movie 1 si j'ajouter une serie add shows 1 ect...

Je parle de la function getTmdb qui utilise justement tmdb dans trakt.py qui retourne les infos depuis l'imdb modifiable asser facilement.

TmpName commented 7 years ago

Ha mince j'avais pas vu cette fonction, c'etait exactement ce que j'allais faire.

Sinon pas besoin de boucle vu que pr le moment on gere juste serie et film. Je te code ca de suite. Et j'essaye de rajouter quelques images avec meta off. Ne touches plus au code pr kelkes heures ^^.

TmpName commented 7 years ago

C'est bon je laisse tomber pr le moment, c'est tres long ... J'ai rajoute une nouvelle fonction qui compare 2 titres (et en francais) pur retourner l' ID tmdb, la fonction getTmdb () marche tres bien, elle recupere les infos, mais sa s'affiche pas si meta desatives.

Et j'ai mis un petit popup pr les rajouts en watchlist.

Et pour eviter de polluer ce topic, y en a un nouveau.