Recherche Automatique Des Infos Videos Fr


XenVeT
 Share

Messages recommandés

Bonjour les Gueux,

J'utilise depuis peu XBMC 2.1 (j'étais en 1.0 depuis 2 ans) et je trouve génial le travail accompli depuis ces dernieres années. Bref, la version me plait ENORMEMENT à l'exception d'un petit truc : la recherche automatique des infos pour les videos de la bibliothèque via IMDB. Le petit probleme c'est que IMDB n'offre que du contenu dans la langue de Shakespeare alors que le reste de XBMC est en francais.

J'utilisais auparavant Sango XBMC Toolobox 1.3 avec XBMC 1.0, ce qui me permettait d'avoir les infos en français dans ma bibliothèque video (via Ant movie catalog).

Donc j'en viens à mon idée : faire un script python qui va lire et recuperer les infos du site allocine puis écrire dans la base de données de XBMC.

Seulement voilà, en lisant le manuel XBMC, je ne vois aucune méthode accessible via script Python permettant d'écrire dans la base SqlLite. Si j'ai vu juste, cela rendra le projet très difficile (A moins d'une compilation de XBMC particulière :blink: ).

Voilà, donc si quelqu'un avait quelques conseils à me prodiguer pour la réalisation de ce projet (si c'est bien réalisable :marteau: )

Lien vers le commentaire
Partager sur d'autres sites

Seulement voilà, en lisant le manuel XBMC, je ne vois aucune méthode accessible via script Python permettant d'écrire dans la base SqlLite. Si j'ai vu juste, cela rendra le projet très difficile (A moins d'une compilation de XBMC particulière blink.gif ).

Effectivement rien n'est fourni à python pour écrire dans la BDD qui, de plus, n'est pas tout à fait du sqlite... XBMC utilise sa propre dll pour écrire dans la BDD. Donc pas de librairie python fonctionnelle donc à priori nous sommes coincés.

Néamoins, mais je sais pas si ca va te satisfaire, j'avais commenca avec modhack à travailler sur un MyCine V9. Ce dernier devait intégré une sortie de la fiche film sous form d'un XML qui est le format utilisé pour stocker les infos des films. Donc ca aurait permis (à défaut de remplacer IMDB de manière native) d'assigner un xml à un film et donc d'obtenir les infos du film en question

Lien vers le commentaire
Partager sur d'autres sites

Salut,

alors en effet, la recompilation de la dll serait la méthode la plus efficace, mais bon, recompiler la dll n'est pas faisable par le premier venu.

Une autre solution avait été trouvé il y a quelque temps en tentant de bluffer xbmc qui n'allait pas chercher les infos sur le site de IMDB mais sur un serveur fake qui récupérait les infos d'allociné, je crois, et qui mettait les infos au bon format pour xbmc. Je ne sais pas où en est ce projet, un petit "rechercher" s'impose.

Enfin, il y a une solution "pythonesque" moins propre mais toujours faisable (enfin j'espère). En fait, j'ai l'impression que cette fameuse BDD ne mets qu'en liaison un fichier xml (créé à partir des infos IMDB) et la vidéo. Ma solution consisterait donc, à télécharger normalement les infos sur IMDB (ce qui créera l'entrée qui va bien dans la BDD ainsi que le xml), puis avec python retrouver le xml ajouté (soit en vérifiant le nom du fichier qui se trouve être le nom de la page où est récupéré les infos de la vidéo soit en vérifiant le contenu du fichier en vérifiant l'absence d'une balise qu'on ajouterait pour un fichier traduit), récupéré le nom du film et d'autres informations pertinentes afin de retrouver le film dans la base française (Allociné ou autre), et remplacer les textes anglais par les textes français. Tout ceci est parfaitement faisable en python mais la question est de savoir quand il faut qu'il soit lancé, le mieux serait après une recherche IMDB mais dans ce cas il faudrait avoir un moyen d'ajouter la commande de lancer le script après la recherche, ou avoir un script permanent scrutant les fichiers xml, et lancer une traduction si le fichier n'a pas la balise qui va bien, ou le plus simple est de lancer manuellement la traduction après une recherche IMDB, ce n'est pas la plus pratique mais normalement on ne fait pas une recherche IMDB tous les jours. Bon, il faut savoir que je n'ai pas testé cette méthode, donc si quelqu'un veut tester manuellement en changeant les infos d'un fichier xml pour voir si ça passe en français ou non, ça permettrait de savoir la faisabilité du projet ou non.

++

Lien vers le commentaire
Partager sur d'autres sites

Oui Nioc cette idée est peut être la meilleure depuis celle du "leure"[1].

On peut imaginer un script qui scrutte les xml dans le répertoire qui va bien. Il en fait la traduction en arrière plan dès qu'un nouveau xml est trouvé. (quitte à gérer une liste pour savoir quels sont les xml déjà traités)

[1] : la technique du leure, consistait à rediriger le parseur IMDB de XBMC sur un site web qui récupérait lui même les infos de allocine pour les présenter telles que le parseur IMDB les attendait.

Lien vers le commentaire
Partager sur d'autres sites

Merci beaucoup pour les infos !

Les informations de chaque film de la bibliothèque sont effectivement contenu dans le fichier xml (merci Bôôôcoup Monsieur nioc bertheloneum :sorcerer: ). En editant un des fichiers xml et en modifiant sa balise <title> (par ex : <title>letitredufilm (test)</title>), je constate imediatement qu'en consultant les infos du film en question XBMC affiche bien "letitredufilm (test)".

Donc pour résumer il "suffit" d'écrire un script python qui lise le contenu du répertoire "UserData/Database/IMDb/" et de parser le contenu de chaque fichier XML pour rechercher l'équivalent sur le site de allocine (ou autre) et enfin de réécrire le contenu des balises avec les données de allocine.

Reste plus qu'à apprendre le Python :rolleyes:

Merci encore pour votre aide !

Lien vers le commentaire
Partager sur d'autres sites

La technique de leure ne serait pas plus simple ?

Pour ma part, j'ai pris l'habitude de parser les infos d'allociné via PHP et SQL (si besoin de sauvegarder dans le but de créer un cache, ça évite les multiples requetes "similaires")

J'en suis venu a penser qu'il était beaucoup plus simple (lorsque allocine modifie son site) de modifier un script PHP plutot que de mettre a jour un script python sur la Xbox.

Qui et comment pouvons nous mettre en place ce projet ?

Merci d'avance

Modifié par MCE_HaKu
Lien vers le commentaire
Partager sur d'autres sites

C'est probable que la solution du leurre soit plus simple pour l'utilisateur final mais me parait plus difficile à réaliser via Python (mais je n'ai aucune expérience de Python donc :mellow: ... ).

Je me propose de réaliser le projet de modification simple des fichiers xml.

Si quelqu'un d'autre veut se pencher sur ce projet ou sur celui du leurre, qu'il n'hésite pas :ok:

Lien vers le commentaire
Partager sur d'autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Share