Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/11/2008, à 00:06

AnsuzPeorth

Petit coup de main en python !

Bjr,

Je suis en train de faire un script en bash et autoglade, je voudrais y inclure un petit navigateur web écrit en python trouvé à cette adresse: http://www.proformatique.org/spip.php?article86

  2 questions:
Comment lancer le navigateur depuis le scritp bash avec une URL donnée ? (en remplacement de "http://www.google.fr/")
  Serait-il possible d'ouvrir plusieurs onglets en même temps (si c'est pas trop compliqué !)

#! /usr/bin/python
import gtk.glade
import gtk
import gtkmozembed

class ui:
       def __init__(self):
               ui = gtk.glade.XML("browser.glade")
               self.m = gtkmozembed.MozEmbed()
               ui.get_widget("frame1").add(self.m)
               self.m.set_size_request(800,600)
               self.m.show()
               self.m.load_url("http://www.google.fr/")

               d = {}
               for iteration in dir(self.__class__):
                       d[iteration]=getattr(self, iteration)
               ui.signal_autoconnect(d)

       def _on_url(self, widget):
               self.m.load_url(widget.get_text())

       def _quit(self, widget):
               gtk.main_quit()

main = ui()
gtk.main()

Je précise que je ne connais absolument rien en python !

Merci d'avance.

#2 Le 12/11/2008, à 13:13

thierry2351

Re : Petit coup de main en python !

Salut,

#! /usr/bin/python
# -*- coding: utf-8 -*-

import gtk.glade
import gtk
import gtkmozembed

import sys
# pour accéder à sys.argv qui contient les arguments de la 
# ligne de commande

class ui:
       def __init__(self,url="http://www.google.fr/"):
               # google.fr sera affiché par défaut si
               # url n'est pas fourni
               ui = gtk.glade.XML("browser.glade")
               self.m = gtkmozembed.MozEmbed()
               ui.get_widget("frame1").add(self.m)
               self.m.set_size_request(800,600)
               self.m.show()
               self.m.load_url(url)

               d = {}
               for iteration in dir(self.__class__):
                       d[iteration]=getattr(self, iteration)
               ui.signal_autoconnect(d)

       def _on_url(self, widget):
               self.m.load_url(widget.get_text())

       def _quit(self, widget):
               gtk.main_quit()


if __name__ == "__main__" :
        # ce code sera exécuté si tu appelles ce script directement.
        # il ne le sera pas si tu l'importes depuis un autre programme Python
  
        if len(sys.argv) >= 2 :
                url=sys.argv[1]
                main = ui(url)
        else :
                # on aura l'url par défaut définie dans la classe ui 
                main=ui()


        gtk.main()

Hors ligne

#3 Le 12/11/2008, à 14:14

AnsuzPeorth

Re : Petit coup de main en python !

Bjr,

Merci, ça marche impeccable.

Prochaine étape pour moi, apprendre le python (pyGtk même !)