[edit:] Nouveau Script En Cours De Création - Sous-titres Forom.com


dracul
 Share

Messages recommandés

Salut les gens .. désolé pour l'absence ces temps je suis en plein travail de diplôme ( ... développement en ... python ;) ça tombe bien )

donc ben du coup là ce matin j'avais un petit moment j'ai fait un petit script qui résupère des subtitles sur forom.com via python

il n'y a plus qu'à faire la partie interface pour avoir une belle GUI sur la XboX.

voilà, donc prochainement dans les bacs !

EDIT:

voilà donc comme promis les premiers screenshots de l'application :

Pour le GUI c'est pas encore trop ça, va falloir que je tweak un peu les contrôles voire changer le fond d'écran, dites moi si vous trouvez ça assez lisible.

Pour ce qui est du fonctionnement : on lance l'appli, on choisit, comme sur le site, la première lettre du show pour lequel on veut télécharger des sous titres

screenshot000.PNG

ensuite une fois que la liste des shows est chargée :

screenshot001.PNG

on choisit le show

puis on sélectionne les sous-titres à télécharger:

screenshot002.PNG

On peut sélectionner plusieurs fichiers à la suite.

Pour le moment, aucun visuel graphique ne dit si on a téléchargé le fichier correctement, ça va venir.

Pour ce qui est de l'endroit à télécharger : si quelqu'un sait comment on demande a XBMC de choisir un folder, faites le moi savoir, sinon je chercherai, ou bien je laisserai comme c'est pour l'instant :

il y'a une variable à initialiser avec le chemin de destination des fichiers à tlélcharger.

Identification :

le script demande le login et le mot de passe ( le code python est fourni, vous pourrez vérifier : il n'y a pas de backdoor pour vouspiquer vos accomptes ;) )

il émule donc parfaitement la connexion flash.

si jamais : il y a moyen de ne pas mettre les login / password en clair : c'est de se connecter une fois avec un PC sur forom.com avec l'ip qui sera sur la XboX, récupérer le paramètre C ( cette grosse chaine avec des lettres et des chiffre - (9 lettres, pas mieux;)) ) et de l'assigner à l'attribut de classe CPARAM.

voilà, c'est à peu près tout.

je vais encore juste ajouter un bouton pour choisir si on veut les subs en VO ou en VF ( là c'est que en VO, mais le moteur est prêt pour accepter les recherches VF aussi, il ne reste qu'à ajouter un bouton. pour le moment c'est encore configurable par script ;) ) et ensuite je vous poste ça :)

et si il y'a des gens motivés à faire une skin, je suis preneur !

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

Ce qui pourrait être sympa dans ton interface serait de pouvoir choisir le fichier auquel lier le sous-titre.

Exemple :

. 1/ je veux télécharger le sous-titre de l'épisode 01 de la saison 1 de la série Toto (totalement fictif :))

. 2/ je lance le script

. 3/ je choisis la série Toto

. 4/ je choisis la saison 1

. 5/ je choisis le sous titre à télécharger

. 6/ je choisis le fichier auquel lier ce sous titre (ex : F:/Films/Toto/Episode 01.avi

. 7/ je valide

Le script se charge alors de :

. télécharger le sous titre

. le copier dans F:/Films/Toto

. le renommer en Episode 01.srt

Des petits points en plus (du bonus !) :

. si le fichier existe déjà, demander si on veut le remplacer ou le nommer différemment (ouverture d'une boite de dialogue avec un clavier virtuel et le fichier nommé Episode 01.srt : il ne reste plus qu'à rajouter un '2' à la fin de 'srt' par exemple pour créer le fichier 'Episode 01.srt2'

. si le sous titre est présent dans une archive (c'est de temps en temps le cas quand les team décident de releaser à la fois la VF et la VO ou quand plusieurs versions de l'épisode existent (HD, non HD, 5.1 ou pas, ...)), il faudrait pouvoir ouvrir cette archive à la volée et pouvoir choisir le sous titre qui nous intéresse entre les étapes 6 et 7 du process défini ci-dessus.

Qu'en penses-tu ? Celà est-il faisable ? En tout cas, un énorme merci d'avance pour ce que tu fais. Je pense que ça en aidera plus d'un (dont moi) !! Bonne continuation.

Lien vers le commentaire
Partager sur d'autres sites

Salut,

Ca me paraît intéressant aussi mais tu es obligé de t'enregistrer sur le site pour pouvoir accéder aux sous-titres. Maintenant ils utilisent les cookies et les sessions. Il faut donc passer par l'accueil pour t'enregistrer à chaque fois avant d'accéder aux sous-titres. Comment vas-tu gérer ça?

Bonne chance!

Lien vers le commentaire
Partager sur d'autres sites

no problèmo !

python gère très bien les sessions par cookies

Si besoin j'ai un exemple sous la main

En gros tu pointes la page où est écrit le cookie et ensuite, selon la date de validité du cookie, tu recommence ou pas. Ensuite tu prends la page que tu veux.

Lien vers le commentaire
Partager sur d'autres sites

Il y a pas mal de subs sur forom.com, c'est certain, mais tu galères pas pour y accéder en python avec leur interface flash toute pourite?

c'est pas trés sympa pour Travis çà, son site est trés bien fait et l'interface en flash est loin d'être pourris car contrairement à d'autres site, Forom.com s'affiche trés bien sous firefox et gére le redimensionnement.

c'est une trés bonne idée ce script dracul, je suggère que tu intègre la bannière du site ou du moins un logo dans un coin, comme alexsolex a fait pour canal+, histoire de rendre à césar ... ;)

bonne continuation

Lien vers le commentaire
Partager sur d'autres sites

c'est pas trés sympa pour Travis çà, son site est trés bien fait et l'interface en flash est loin d'être pourris car contrairement à d'autres site, Forom.com s'affiche trés bien sous firefox et gére le redimensionnement.

C'est pas mon avis. C'est assez réussi esthétiquement parlant, mais l'utilisation de Flash n'est à mon avis pas adaptée à ce type de site internet (elle n'est pas adaptée à bcp de site internet en fait...):

- firefox peut pas retenir le mot de passe dans son porte-clé parce que le formulaire de connexion est en flash (il existe il est vrai une url d'auto-identification, mais à ne pas enregistrer sur un site de bookmark genre del.icio.us)

- on a beau décocher "Ouvrir à chaque fois dans une nouvelle fenêtre", il s'ouvre toujours des nouveaux onglets.

- Pas d'accès direct aux fichiers subs depuis les forums et vice-versa.

- Flash non dispo sur tout les OS.

M'enfin bon, c'est de loin l'initiative la plus complète de compilations de subs francophone, et ça doit demander un gros travail à ses créateurs.

Lien vers le commentaire
Partager sur d'autres sites

Voili voila : je viens de terminer le port sur XboX.

pas de souci donc pour les cookies avec Urllib2.

et pour savoir comment s'enregistrer proprement : un peu de reverse engineering, de sniffage, et.. hey.. par la même...

l'identification se fait par IP :)

c'est rigolo comme ils ont géré leur truc..

mais a mon avis leur database est mal conçue... enfin bon .. détail.. tout ça pour dire que travis a fait un énorme travail, excellent, mais l'enregistrement sur le flash est loin d'etre optimal... il pousse a la réidentification même quand la session est encore valide sur le PC en cours...

dommage, donc !

mais peu importe .. la je suis en train de lire l'épisode 305 de Lost avec le sous titres tout fraichement téléchargé depuis ma XboX!

je posterai des screens demain ;)

bonne nuit ;)

Lien vers le commentaire
Partager sur d'autres sites

firefox peut pas retenir le mot de passe dans son porte-clé parce que le formulaire de connexion est en flash (il existe il est vrai une url d'auto-identification, mais à ne pas enregistrer sur un site de bookmark genre del.icio.us)

Ca, c'est bien vrai. C'est un peu dommage mais bon, j'utilise l'URL d'auto identification et tout marche très bien. C'est vrai que niveau sécurité c'est pas tip top mais ça reste acceptable si on n'est pas parano :)

on a beau décocher "Ouvrir à chaque fois dans une nouvelle fenêtre", il s'ouvre toujours des nouveaux onglets.

Ca, ça vient de ton navigateur qui est configuré pour rediriger les créations de nouvelles fenêtres dans des onglets (à mon avis, tous les popups qui ont une taille indéfini sont vues comme des nouvelles fenetres et pas comme des popups et sont donc redirigés vers un nouvel onglet). Il suffit de le reconfigurer ou d'installer l'extension qui va bien.

Pas d'accès direct aux fichiers subs depuis les forums et vice-versa.

Si, il suffit de s'enregistrer comme membre certifié (ce qui coute un peu d'argent mais quand on connait bien le site, ce n'est pas volé loin de là !)

Flash non dispo sur tout les OS.

euh... le site ne requiert pas Flash9 il me semble ! Et quand bien meme, Flash 9.0 est dispo sous Linux en version Beta. A moins que tu ne surfes depuis AIX, je ne vois pas en quoi ça te gêne même si, théoriquement parlant, ça peut êter embêtant. Mais bon, on fait un site pour 95% des utilisateurs potentiels et il faut accepter qu'il ne marche pas chez quelques personnes ayant une configuration exotique.

Lien vers le commentaire
Partager sur d'autres sites

firefox peut pas retenir le mot de passe dans son porte-clé parce que le formulaire de connexion est en flash (il existe il est vrai une url d'auto-identification, mais à ne pas enregistrer sur un site de bookmark genre del.icio.us)

Ca, c'est bien vrai. C'est un peu dommage mais bon, j'utilise l'URL d'auto identification et tout marche très bien. C'est vrai que niveau sécurité c'est pas tip top mais ça reste acceptable si on n'est pas parano :)

pour l'autoidentification, si vous parlez de l'url avec un paramètre c= et une longue chaine qui ressemble un peu a deu base 64 mais qui n'en est pas, c'est tout a fait acceptable meme si tu files un "lien" de connexion à quelqu'un d'autre ( qui est sur une autre IP : attention donc aux utilisations en entreprise ou derrière unproxy ou un routeur avec une adresse ip routable unique )

Lien vers le commentaire
Partager sur d'autres sites

Comment vas-tu gérer ça?

;) avec de la classe ;)

non mais pas de problème avec urllib2 : le seul souci c'est de pouvoir générer un identificateur de compte avec l'ip de la XboX, mais avec un sniffer j'ai pu récupérer les trames HTTP envoyées et reçues et imiter le client Flash.

piece of cake ;)

il faut juste fournir le login / password parcontre

Lien vers le commentaire
Partager sur d'autres sites

no problèmo !

python gère très bien les sessions par cookies

Si besoin j'ai un exemple sous la main

En gros tu pointes la page où est écrit le cookie et ensuite, selon la date de validité du cookie, tu recommence ou pas. Ensuite tu prends la page que tu veux.

"oui-mais" !

il ne faut pas utiliser urllib parec que sinon lors de redirections ( qui se passent d'ailleurs de façon transparente) même si tu as fais un quote sur la requête pour céchapper les caractères genre espace --> %20, et bien lors de la redirectionurllib te retourne la redirection avec un espace blanc au lieu de son code d'échappement.

j'ai pas mal gratté sur ce problème : solution : utiliser urllib2 qui elle, supporte les redirections "proprement" !

Lien vers le commentaire
Partager sur d'autres sites

Pour ce qui est de l'endroit à télécharger : si quelqu'un sait comment on demande a XBMC de choisir un folder, faites le moi savoir, sinon je chercherai, ou bien je laisserai comme c'est pour l'instant :

il y'a une variable à initialiser avec le chemin de destination des fichiers à tlélcharger.

Salut

tu peux jeter un oeil dans mon script txtreader.

sinon :

browse(...) browse(type, heading, shares[, mask, useThumbs, treatAsFolder]) -- Show a 'Browse' dialog.type : integer - the type of browse dialog.heading : string or unicode - dialog heading.shares : string or unicode - from sources.xml. (i.e. 'myprograms')mask : [opt] string or unicode - '|' separated file mask. (i.e. '.jpg|.png')useThumbs : [opt] boolean - if True autoswitch to Thumb view if files exist.treatAsFolder : [opt] boolean - if True playlists and archives act as folders.Types:0 : ShowAndGetDirectory1 : ShowAndGetFile2 : ShowAndGetImage3 : ShowAndGetWriteableDirectory*Note, Returns filename and/or path as a string to the location of the highlighted item,if user pressed 'Ok' or a masked item was selected.example:- dialog = xbmcgui.Dialog()- fn = dialog.browse(0, 'titre du dialogue', 'files', '.jpg|.png')

Dans l'exemple, "files" correspond au nom des raccourcis de la section files. Tu obtiendras donc tous les raccourcis qu'il y a dans ta section 'files'

Lien vers le commentaire
Partager sur d'autres sites

Okay, génial !! merci droit ce qu'il me fallait .. j'étais sur qu'y avait ça dans XBMC ( vu que c'est le cas lorsque tu fais un screenshot pour la première fois ;)

bon ben je vais faire ça. dès que plus personne utilisera la tv au salon !

( en passant : ça me fait vraiment plaisir que ce poste suscite autant d'intérêt : déjà près de 160 lectures... ça fait plaisir ! )

Lien vers le commentaire
Partager sur d'autres sites

Ce qui pourrait être sympa dans ton interface serait de pouvoir choisir le fichier auquel lier le sous-titre.

[...]

Le script se charge alors de :

. télécharger le sous titre

. le copier dans F:/Films/Toto

. le renommer en Episode 01.srt

Bonne idée mais je verrais bien ça "configurable" : genre si les gens veulent faire du mass download dans un meme dossier ( moi ça me plait bien : genre je clic comme un bourrin sur tous les sous titres qu eje veux télécharger et ca les met tous au meme endroit sans rien me demander... attention quand meme a la limite de 42 caractères par fichiers... là c'est ce que j'ai fait : je tronque en gardant les 42 derniers caractères.

. si le fichier existe déjà, demander si on veut le remplacer ou le nommer différemment (ouverture d'une boite de dialogue avec un clavier virtuel et le fichier nommé Episode 01.srt : il ne reste plus qu'à rajouter un '2' à la fin de 'srt' par exemple pour créer le fichier 'Episode 01.srt2'

je n'aime pas tellement le principe du clavier virtuel, mais ça pourrait eter configurable ( qui dit configurable dit + de temps de developpement pour faire un truc clean : chose que je n'ai malheureusement pas aprofusion) mais parcontre, si le fichier existe deja : on peut imaginer qu'il essaye de trouver un nom inexistant. genre lister tous les fichiers, splitter sur la chaine se trouvant entre deux points ( juste avant l'extension) convertir ça en entier, et incrémenter.. ensuite on auarit dans le player les deux subs qui s'affichent et onpeut choisir celui qu'on veut... ça limite les interactions avec l'utilisateur ( j'aime bien ça, éviter que l'utilisateur ait a taper des choses )

. si le sous titre est présent dans une archive (c'est de temps en temps le cas quand les team décident de releaser à la fois la VF et la VO ou quand plusieurs versions de l'épisode existent (HD, non HD, 5.1 ou pas, ...)), il faudrait pouvoir ouvrir cette archive à la volée et pouvoir choisir le sous titre qui nous intéresse entre les étapes 6 et 7 du process défini ci-dessus.

XBMC a pas deja un truc pour pouvoir rechercher les sous titres dans les archives ?

Qu'en penses-tu ? Celà est-il faisable ? En tout cas, un énorme merci d'avance pour ce que tu fais. Je pense que ça en aidera plus d'un (dont moi) !! Bonne continuation.

De rien : et si tu penses que mes remarques sont infondées ou fausses, ou que t'as de nouvelles idées ... fais m'en part. c'estz peut eter juste possible que j'aie pas le temps de tout implémenter... je voulais deja poster une version du script hier soir mais j'ai pas pu et je vais pas pouvoir le faire ce soir non plus...

je vais essayer de pas laisser trop refroidir le sujet avant de poster au moins une version préliminaire, mais il faut que je mette en ordre quelques petites choses.. et le code risque d'être moyennement propre pour la premiere version.

Lien vers le commentaire
Partager sur d'autres sites

Bonne idée mais je verrais bien ça "configurable" : genre si les gens veulent faire du mass download dans un meme dossier

Pas bête, je n'y avais pas pensé. L'idée est sympa. Je verrai bien effet un moyen de configurer quelle méthode utiliser.

ensuite on auarit dans le player les deux subs qui s'affichent et onpeut choisir celui qu'on veut...

Pas bête là aussi. Par contre, je ne connais pas les règles de nommage pour les sous-titres multiples sur XBMC. Si t'as une vidéo qui s'appelle 'toto.avi', le premier sous-titre soit d'appeler 'toto.srt' mais le second ?

XBMC a pas deja un truc pour pouvoir rechercher les sous titres dans les archives ?

Alors là, pas la moindre idée mais je teste ça ce soir. par conter, c'est pareil, faudra voir à quoi ressemble les règles de nommage pour les sous-titres dans des archives.

Quand t'auras le temps de poser une version, n'hésites surtout pas. Même si ce n'est pas final, ça m'intéresserait vachement de regaredr à quoi ressemble le code (même si c'est "moyennement propre" :D)

Lien vers le commentaire
Partager sur d'autres sites

Pas bête là aussi. Par contre, je ne connais pas les règles de nommage pour les sous-titres multiples sur XBMC. Si t'as une vidéo qui s'appelle 'toto.avi', le premier sous-titre soit d'appeler 'toto.srt' mais le second ?

toto.lang1.srt

toto.lang2.srt

toto.nimportequoi.srt

tu verras les subs affichés dans XBMC ( ou mplayer ou vobsub, etc.. ) avec lang1, lang2, et nimportequoi : ce seront les mêmes labels qui seront repris pour identifier le sub. ( unknown sou undefined, bref un utrc en u, pour ceux qui n'ont pas de "langue" (toto.srt)

Alors là, pas la moindre idée mais je teste ça ce soir. par conter, c'est pareil, faudra voir à quoi ressemble les règles de nommage pour les sous-titres dans des archives.

très volontiers

Quand t'auras le temps de poser une version, n'hésites surtout pas. Même si ce n'est pas final, ça m'intéresserait vachement de regaredr à quoi ressemble le code (même si c'est "moyennement propre" :D)

d'accord. pas de problème, je peux te faire passer ca en privé parce que par la même j'ai utilisé le même moteur pour faire un generateur de flux RSS, et je pense que là, Travis serait pas content que je le diffuse comme ça ( y'aurait plus aucun intérêt à être membre... et même les utilisateurs PC passeraient a coté du site -_> plus de pub -- >plus d'argent -->plus de forom... ) et comme je respecte le taff de travis, j'aimerais pas diffuser des trucs qui lui porteraient préjudice.

là je suis encore à l'école ( travail de diplôme oblige ) donc je sais pas trop à quell eheure je rentre mais j'aurai tellement bossé que je pense que je pourrai regarder ça un peu la conscience tranquille ;)

Lien vers le commentaire
Partager sur d'autres sites

J'ai un problème : je n'arrive pas à utiliser browse.

Dialog.ok(...) ça marche, donc c'est pas un problème d'instanciation de la classe, mais la méthode browse ne me retourne rien... comme si ça restait bêtement bloqué.

sinon en dehors de ça, en voulant gerer les boutons moi meme j'ai un peu cassé mon code, donc faudra que je repasse un coup derrière, poir récupérer les dégâts mais bon là il est 3h21 j'ai envie de dormir un tout petit peu quand même.

alors je mets mon script en attachement à tout hasard, mais si jamais : c'est normal si le script plante lors du choix de la partie 1-F de l'alphabet sans avoir bougé le curseur au préalable.

voilà donc : Known bug !

sinon ben pour le browse : le mystère reste entier, donc si qqn a le temps de jeter un oeil et qui voit la faute impardonnable ( certainement ) que j'ai fait, n'hesitez pas a envoyer vos feedback. ( et si le coup du known bug vous saute aux yeux : faites le moi savoir aussi )

bon... sur ce : bonne nuit les petits amis !

xbForom.rar

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

Merci, je teste ça ce soir. Je n'ai pas eu le temps de tester les sous-titres en format zip et rar hier soir. Je teste ça aussi ce soir.

Encore merci !

PS : j'ai jeté un coup d'oeil au code mais vu que je ne suis pas expert en python (je développe essentiellement en Java et en Bash) je n'ai pas trop de remarques à te faire. par contre, je testerai 2-3 trucs pour ton "Known Bug" ;)

Lien vers le commentaire
Partager sur d'autres sites

					print browser.browse(0,"Attach the subtitle to...", "video", '.avi')#,

Est-ce que ta section vidéo se nomme

"video" ou "videos" ??

sinon essaye ca : ;)

					print browser.browse(0,"Attach the subtitle to...", "videos", '.avi')#,

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

					print browser.browse(0,"Attach the subtitle to...", "video", '.avi')#,

Est-ce que ta section vidéo se nomme

"video" ou "videos" ??

sinon essaye ca : ;)

					print browser.browse(0,"Attach the subtitle to...", "videos", '.avi')#,

déjà essayé sans succès.

pourquoi ? chez toi ça passe ?

sinon pour le known bug : j'ai compris pourquoi.. reste à trouver un moyen élégant de ele règler... je vais peut etre faire du SubClassing de ControlList pour me faire un objet personnalisé.

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