Lire la Documentation Python
Pages: [1] 2 3  Toutes   Bas de page
  Envoyer ce fil  |  Imprimer  
Auteur Fil de discussion: [Plugin] WebBrowser  (Lu 7116 fois)
0 Membres et 2 Invités sur ce fil de discussion.
Drunken Master
Fait partie du Décor
*
Karma: 3
Messages: 2213
En ligne En ligne
Sexe: Homme
YoHoHoHo!!!
Voir le profil
« le: 14 Février 2009 19:43:59 »

Description:
Le plugin WebBrowser permet d'entrer une liste de favoris internet et de les ouvrir depuis xbmc dans un navigateur.

Au premier lancement, vous serez invité à rentrer le chemin du navigateur.

Vous pourrez également rentrer votre login et mot de passe Google, pour récupérer la liste de vos favoris Google, classés par tags.

Ces paramètres peuvent être modifié à tout moment en allant dans les options du plugin.

Un bouton est également prévu pour ouvrir une url, sans la rentrer préalablement dans les favoris.

Disponible dans la langue de Shakespeare!

Plus d'informations :
http://passion-xbmc.org/downloads/?sa=view;down=82

Téléchargement :
http://passion-xbmc.org/downloads/?sa=downfile;id=82

Enjoy  niark niark

http://passion-xbmc.org/fichiers_multimedia/upploadimages/images/1264209852-screenshot015.jpg
[Plugin] WebBrowser


Spoiler (survoler pour afficher)
« Dernière édition: 25 Janvier 2010 02:00:04 par CinPoU » Journalisée

Développé Couché
Fait partie du Décor
*
Karma: 0
Messages: 2519
Hors ligne Hors ligne
Sexe: Homme
Developpeur Python petit scarabée
Voir le profil
« Répondre #1 le: 14 Février 2009 20:25:33 »
Haut de page

Bravo pour ce nouveau plugin.

Lorsque tu dis que system.execwait ne marche pas sous Linux par quoi cela se traduit.

Comme j'en parlais précédemment le Launcher resould plus ou mins le même type de problème, je pense donc que tu peux y trouver la solution a ton problème en regardant le code.
D;ailleurs je viens de triuver la fonction qui devrait résoudre ton problème de system.execwait (fichier launcher_plugin.py) :

Code
(Python):
   def _run_launcher(self, launcherName):
       if (self.launchers.has_key(launcherName)):
           launcher = self.launchers[launcherName]
           if (os.environ.get( "OS", "xbox" ) == "xbox"):
               xbmc.executebuiltin('XBMC.Runxbe(' + launcher["application"] + ')')
           else:
               if (sys.platform == 'win32'):
                   if (launcher["wait"] == "true"):
                       cmd = "System.ExecWait"
                   else:
                       cmd = "System.Exec"
                   xbmc.executebuiltin("%s(\"%s\" %s\")" % (cmd, launcher["application"], launcher["args"]))
               elif (sys.platform.startswith('linux')):
                   os.system("%s %s" % (launcher["application"], launcher["args"]))
               else:
                   pass;
                   # unsupported platform
 
Comme tu peux le voir selon le type de platform la commande qu'il utilise est difference, et la cas Linux/Mac semble donc etre System.Exec, la bonen nouvelle c'est que cette fonction semble couvrir toutes les platformes.
Je presume que tot ou tard, Linux supportera aussi pleinement le System.ExecWait (si ce n'est deja fait car ce code date deja de quelques mois).

Voila, j'espere que cela t'aidrea et encore bravo pour ce ters bon plugin et j'aime ton idee sur la facon de reutiliser le snippet d'Alexsoelx avec les miniatures  niark niark
Journalisée

Drunken Master
Fait partie du Décor
*
Karma: 3
Messages: 2213
En ligne En ligne
Sexe: Homme
YoHoHoHo!!!
Voir le profil
« Répondre #2 le: 15 Février 2009 12:27:35 »
Haut de page

J'ai fait plusieurs tests sur les différentes commandes de lancement.

J'ai testé sous linux le plugin launcher, mais celui-ci lance l'application demandée en arriere plan... Lorsque j'utilise la même commande sous mon plugin, j'ai évidemment le même problème.

Je me demande si il serait possible de coder une sortie du mode plein écran pour xbmc, et de faire un Alt+Tab pour passer sur l'application. Ce n'est pas très propre, mais ça aurait le mérite de marcher... sweat

Je continue sur les autres points pour l'instant, mais si vous avez des pistes, je vous écoute! grin

Journalisée

Drunken Master
Fait partie du Décor
*
Karma: 3
Messages: 2213
En ligne En ligne
Sexe: Homme
YoHoHoHo!!!
Voir le profil
« Répondre #3 le: 17 Février 2009 01:45:01 »
Haut de page

Et voilà la première version du Plugin WebBrowser!

Pour fonctionner, ce script nécessite Firefox.

Il permet d'ouvrir dans celui-ci un lien vers un site internet.

Il permet également d'ajouter un nouveau lien à la liste, la miniature se créant automatiquement (le snippet n'est plus vraiment nécessaire, puisque le site thumbalizr a ajouté une api gratuite suffisante pour les besoins de ce plugin).

Il me reste toujours le probleme de lancement sous linux... si quelqu'un à une idée...
« Dernière édition: 20 Février 2009 10:32:15 par cinpou » Journalisée

Développé Couché
Fait partie du Décor
*
Karma: 0
Messages: 2519
Hors ligne Hors ligne
Sexe: Homme
Developpeur Python petit scarabée
Voir le profil
« Répondre #4 le: 17 Février 2009 02:04:24 »
Haut de page

Bravo!!!
Je peux le mettre a dispo via l'installer si tu veux. Quel version veux-tu que je lui donne? Si tu n'en a pas c'est pas grave je mettrais la date.
Sous quelle plateformes cela tourne?
Journalisée

Drunken Master
Fait partie du Décor
*
Karma: 3
Messages: 2213
En ligne En ligne
Sexe: Homme
YoHoHoHo!!!
Voir le profil
« Répondre #5 le: 17 Février 2009 02:15:22 »
Haut de page

Mouarf, je viens de le tester sous linux, j'ai du modifier deux ou trois bricoles pour le faire fonctionner, donc pour l'instant uniquement windows, mais demain ce sera les deux... vaudrait peut être mieux attendre demain pour le publier du coup...

Euh...pour la version, je sais pas trop, en fait c'est la première fois que je code quelquechose (en dehors du php), j'ai pas trop l'habitude, la date suffira.

Il restera juste sous linux à trouver une soluce pour que les liens s'ouvrent au premier plan, je regarderai demain pour une bidouille genre alt+tab, à moins que quelqu'un a une idée...

Sinon pour ceux qui utilise leur windows que en médiacenter, je leur recommande le plugin full fullscreen pour Firefox, qui lance ce dernier directement en plein écran.

Sur ces belles paroles, bonne nuit!
Journalisée

Développé Couché
Fait partie du Décor
*
Karma: 0
Messages: 2519
Hors ligne Hors ligne
Sexe: Homme
Developpeur Python petit scarabée
Voir le profil
« Répondre #6 le: 17 Février 2009 05:49:28 »
Haut de page

Ok pas de probleme, prend ton temps il n'y a pas le feu pour le publier tant qu'il est en developpement.
Journalisée

Développé Couché
Fait partie du Décor
*
Karma: 0
Messages: 2519
Hors ligne Hors ligne
Sexe: Homme
Developpeur Python petit scarabée
Voir le profil
« Répondre #7 le: 17 Février 2009 08:23:12 »
Haut de page

Salut cinpou

On parle deja de ton plugin sur le forum officiel:
http://xbmc.org/forum/showthread.php?t=45615

Le monde est petit non?  niark niark
Journalisée

Drunken Master
Fait partie du Décor
*
Karma: 3
Messages: 2213
En ligne En ligne
Sexe: Homme
YoHoHoHo!!!
Voir le profil
« Répondre #8 le: 17 Février 2009 14:33:05 »
Haut de page

C'est marrant, je pensais pas que ma petite vidéo serait repérée si vite... sweat

J'ai répondu sur le forum anglais, par contre comment ça se passe pour traduire un plugin, y a t il une solution de programmation, ou faut il faire deux versions?

Je suis à mon bureau, je vais essayer de finaliser ça ce soir
Journalisée

Version Pré Alpha
Fait partie du Décor
*
Karma: 0
Messages: 1538
En ligne En ligne
Sexe: Homme
Voir le profil
« Répondre #9 le: 17 Février 2009 20:52:29 »
Haut de page

Salut il y a ce qu'il faut pour le faire simplement. En gros ca consiste un un fichier xml par langue proposée. Le tout dans un dossier de ton plugin.

Je t'invite à regarder les plugins récents, par exemple 'apple movie trailers II'.
Tu recopies l'arborescence qui va bien pour mettre les strings.xml de tes langues et pour mettre dans ton script une chaine de texte traduite automatiquement :
Code
(Python):
xbmc.getLocalizedString( 30603 )

Dans le code strings.xml en english tu as :
Code:
<string id="30603">Location</string>

Voilà voilà
Journalisée

Si tu sais pas taper, il est encore temps d'apprendre : http://www.lecturel.com/clavier/mots-par-minute.php

"Toute idée que nous avons dans l'esprit devient une réalité dans le domaine de la possibilité...", Emile Couet
Tipiak!
Fait partie du Décor
*
Karma: 5
Messages: 5608
En ligne En ligne
Sexe: Homme
Voir le profil
« Répondre #10 le: 17 Février 2009 20:54:10 »
Haut de page

c'est plutot cool :D
Journalisée

Version Pré Alpha
Fait partie du Décor
*
Karma: 0
Messages: 1538
En ligne En ligne
Sexe: Homme
Voir le profil
« Répondre #11 le: 17 Février 2009 21:39:48 »
Haut de page

Tiens une petite question en passant, je ne pense pas être trop HS mais si le sujet devait trainé, on postera ca ailleur !

Je pense qu'il serait sympa de coder une librairie pour afficher une url dans le navigateur.
Ensuite un dév de script ou plugin, si il souhaite proposer l'ouverture du navigateur n'aura plus qu'à faire un appel à la librairie :
Code
(Python):
import webbrowser #je sais cette lib existe déjà alors bon, le nom est à changer
mybro = webbrowser.webbrowser()
mybro.navigate(url)
 
Bien entendu on pourrait y ajouter des paramètres afin de lancer la page en arrière plan ou en premier plan, etc...
Je pense vraiment que ce serait un plus intéressant.
Journalisée

Si tu sais pas taper, il est encore temps d'apprendre : http://www.lecturel.com/clavier/mots-par-minute.php

"Toute idée que nous avons dans l'esprit devient une réalité dans le domaine de la possibilité...", Emile Couet
Développé Couché
Fait partie du Décor
*
Karma: 0
Messages: 2519
Hors ligne Hors ligne
Sexe: Homme
Developpeur Python petit scarabée
Voir le profil
« Répondre #12 le: 17 Février 2009 21:55:09 »
Haut de page

Oui en effet c'est le genre de lib qui serait fort utile piur certains type de script/plugin
Journalisée

Développé Couché
Fait partie du Décor
*
Karma: 0
Messages: 2519
Hors ligne Hors ligne
Sexe: Homme
Developpeur Python petit scarabée
Voir le profil
« Répondre #13 le: 18 Février 2009 01:03:46 »
Haut de page

@cinpou,

Jettes un oeil a ce nouveau snippet que je veinx d'ajouter, cela devrait couvrir toutes tes histoires de chemins quelque soit la plate-forme utilisée (Windows, Linux, Mac et meme Xbox).
http://passion-xbmc.org/le-coin-des-developpeurs/code-snippet-(exemples)/msg15697/#msg15697
C'est ce que l'on utilise dans l'installer passion-XBMC.
Journalisée

Drunken Master
Fait partie du Décor
*
Karma: 3
Messages: 2213
En ligne En ligne
Sexe: Homme
YoHoHoHo!!!
Voir le profil
« Répondre #14 le: 18 Février 2009 07:39:53 »
Haut de page

Et voilà le plugin modifié. Cette fois il est compatible sous windows et linux.

Je ferais quelques modifications un peu plus tard, pour la version anglaise nottament, mais je prendrai un peu plus mon temps pour le sortir... Bref il est peut etre intéressant de poster déjà celui-là sur ftp.

Merci Temhil pour le snippet. Le problème de compatibilité avec linux étant très local, je suis resté sur os.path.abspath, et getcwd;
« Dernière édition: 20 Février 2009 10:36:27 par cinpou » Journalisée

Made in Québec
Fait partie du Décor
*
Karma: 3
Messages: 2090
Hors ligne Hors ligne
Sexe: Homme
RISE
Voir le profil WWW
« Répondre #15 le: 18 Février 2009 20:31:40 »
Haut de page

salut je vais mettre mon grain de sel "System.ExecWait" est typiquement pour windows seulement et pas pour les autres plateforme de plus cette commande freeze xbmc jusqu'à ce que  l'application lancer est été fermé.
pour les autres plateforme vous pouvez utiliser os.system( blabla )

Et j'ai déjà testé import webbrowser mais sans succès. sad


frost

Journalisée

Vous ne comprenez rien au jargon de Frost!
Voici l'outil ultime pour vous: Dictionnaire de la langue québécoise




Version Pré Alpha
Fait partie du Décor
*
Karma: 0
Messages: 1538
En ligne En ligne
Sexe: Homme
Voir le profil
« Répondre #16 le: 18 Février 2009 21:15:40 »
Haut de page

non j'ai bien précisé que webbrowser est déjà utilisé par python. Et je ne parlais pas du webbrowser de python mais un autre qui lancerais le navigateur comme le fait le plugin
Journalisée

Si tu sais pas taper, il est encore temps d'apprendre : http://www.lecturel.com/clavier/mots-par-minute.php

"Toute idée que nous avons dans l'esprit devient une réalité dans le domaine de la possibilité...", Emile Couet
Développé Couché
Fait partie du Décor
*
Karma: 0
Messages: 2519
Hors ligne Hors ligne
Sexe: Homme
Developpeur Python petit scarabée
Voir le profil
« Répondre #17 le: 18 Février 2009 22:33:08 »
Haut de page

cinpou,

Je suis hors sujet la, mais pourrais tu me dire quel soft tu utilise pour faire ta video de ton plugin?
Journalisée

Drunken Master
Fait partie du Décor
*
Karma: 3
Messages: 2213
En ligne En ligne
Sexe: Homme
YoHoHoHo!!!
Voir le profil
« Répondre #18 le: 19 Février 2009 10:49:14 »
Haut de page

Réponse à Frost:

Oui System.ExecWait ne marche que sous windows, sous linux il ne fait pas ce qu'on lui demande. Malheureusement, os.system ne permet pas de réduite Xbmc, et du coup firefox ne se lance qu'en arriere plan. Je suis donc obliger de sortir xbmc du mode plein ecran de faire un alt+tab. Serait il possible de l'automatiser?

J'ai testé webbrowser, sans aucun probleme, marche sous windows comme sous linux, par contre sous windows il ne bascule pas automatiquement de Xbmc au navigateur comme ExecWait...

j'ai utilisé

Code:
import webbrowser
webbrowser(url)

Réponse à AlexSolex :
Il me paraît pas très difficile de créer cette petite fonction, mais encore une fois, ça ne marche pas très bien sous linux...


Réponse à Temhil :
J'utilise camstudio, logiciel libre

Pour tous :
Es ce que quelqu'un à tester mon plugin? des remarques?
Auriez vous une idée pour automatiser la réduction de xbmc et le alt+tab?

Et bonne journée!
Journalisée

Version Pré Alpha
Fait partie du Décor
*
Karma: 0
Messages: 1538
En ligne En ligne
Sexe: Homme
Voir le profil
« Répondre #19 le: 19 Février 2009 18:33:04 »
Haut de page

Désolé mais je ne l'ai pas testé encore.
Cependant j'ai une petite question :
Est-ce que tu as géré le cas xbox pour avertir proprement que cela ne fonctionne pas sur xbox ?

Pour ton alt+tab, ca ressemble à un 'sendkeys' connu dans certains langages de progs mais pas python. Cependant un mec à créé une lib pour windows : http://www.rutherfurd.net/python/sendkeys/
Journalisée

Si tu sais pas taper, il est encore temps d'apprendre : http://www.lecturel.com/clavier/mots-par-minute.php

"Toute idée que nous avons dans l'esprit devient une réalité dans le domaine de la possibilité...", Emile Couet
Lire la Documentation Python
Pages: [1] 2 3  Toutes   Haut de page
  Envoyer ce fil  |  Imprimer  


 
Aller à:  



anything