Fórum Ubuntu CZ/SK

Ostatní => Tipy a triky pro Linux => Téma založeno: petrakis 24 Října 2009, 12:35:15

Název: UBUTNU CZ Python Pack
Přispěvatel: petrakis 24 Října 2009, 12:35:15
Posledni 3 dny jsem si psal nekolik scriptu v pythonu a u toho me napadlo take zkouset par veci. Vysledek ukazu zde. Mozna to absolutne nikdo nevyuzije, mozna jo. Rozdil mezi praci v browseru a timhle je o dost nizzsi vytizeni CPU a RAM + mam hned po ruce par potrebnych nastroju. Nevim jestli to bude funkcni u Windowsu (ani mne to moc nezajima), testovano to bylo jak na jaunty tak na Karmicu. Snazil jsem se pouzivat knihovny pythonu ktere by z 98% mel mit kazdej. Jestli nekdo bude mit problemy je potreba se kouknout do kazdeho pythonovskeho souboru a zjistit co chybi, pripadne pomuzu.

Ubuntu CZ Forum v Pythonu

(http://top100cyprus.com/czmain.png)

Otevrene vsechny dostupne nastroje (Google,terminal,Editor,Scriptbook, Screenshot)

(http://top100cyprus.com/uczpythonpack.png)

Jak to funguje ?

1.) vsechny scripty si ulozte do nejakeho spolecneho adresare (musi byt spolu, pokud nechcete menit strukturu kodu v jednotlivych pythonovych scriptech)

2.) vsem scriptum nastavte prava aby byli zpustitelne


3.) soubor ubrowser.py je nastaven tak ze vas automaticky prihlasuje na forum takze v pripade ze to chcete nechat takhle, otevrete si soubor ubrowser.py v textovem editoru a najdete si tenhle radek:

self.moz.load_url('http://forum.ubuntu.cz/index.php?action=login2&user=mujlogin&passwrd=mojeheslo')

dosadte si vase udaje

jstli nechcete aby vas prihlasoval automaticky zmente ten radek takhle:

self.moz.load_url('http://forum.ubuntu.cz')

ted si v editoru otevrete soubor screen.py a najdete tenhle radek:

    pb.save("/home/petrakis/Desktop/screenshot.png","png")

nastavte si cestu kam chcete aby vam ukladal screeshoty

4.) ulozte zmeny v souborech ubrowser.py a screen.py,nasledne si treba  na plose  vytvorte spustec a zadejte cestu k souboru ubrowser.py


5.) muzete jej zpustit


UBUNTU CZ Forum Pack obsahuje:


ubrowser.py
gbrowser.py (popup okno pro google)
terminal.py (popup okno pro vte terminal)
editor.py (popup okno s Edile Editorem)
SCRIPTBOOK.py (script book pro ukladani scriptu, poznamek atd)
screen.py (nastroj pro snimky obrazovky)

Puvodne jsem se snazil postnout vsechny kody sem ale bylo to asi dlouhy a nechtelo to vzit, takze prikladam link na zip v kterym se vsechny soubory nachazeji

http://top100cyprus.com/Ubuntu_cz_python_pack.zip (http://top100cyprus.com/Ubuntu_cz_python_pack.zip)

Název: Re: UBUTNU CZ Python Pack
Přispěvatel: dadam 24 Října 2009, 17:07:36
Docela se mi to líbí, aspoň bych to vyzkoušel, jen nemůžu najít balíček pro modul gtkmozembed
Název: Re: UBUTNU CZ Python Pack
Přispěvatel: petrakis 25 Října 2009, 11:06:52
V pripade ze mas nainstalovanej Firefox, gtkmozembed mas automaticky aktivovanej ajestli ne tak to udelas instalaci python gnome extras
Název: Re: UBUTNU CZ Python Pack
Přispěvatel: petrakis 25 Října 2009, 12:51:53
V puvodnich scriptech ubrowser.py a gbrowser.py chybelo cacheovani, tak jsem ho tam ted pridal. Celej balik uz je prepsanej, kdo pouzil puvodni zde prilozim oba scripty s doplnenym cacheovanim. Ve slozce tmp automaticky vytvari profil s cache.


ubrowser.py

Kód: [Vybrat]
#!/usr/bin/python

import pygtk
pygtk.require('2.0')
import gtk
import gtkmozembed
import subprocess


class PyMoz:

def delete_event(self,widget,data=None):
print("Exit")
return False

def destroy(self,widget,data=None):
gtk.main_quit()

def button_clicked(self,widget,data):
data.go_back()

        def button_clicked2(self,widget,data):
data.go_forward()

        def term(self,widget,data):
subprocess.Popen("python terminal.py", shell=True)

        def editor(self,widget,data):
subprocess.Popen("python editor.py", shell=True)

        def google(self,widget,data):
subprocess.Popen("python gbrowser.py", shell=True)

        def sbook(self,widget,data):
subprocess.Popen("python SCRIPTBOOK.py", shell=True)

        def screen(self,widget,data):
subprocess.Popen("python screen.py", shell=True)

       
def __init__(self):
#init mozembed
                gtkmozembed.set_profile_path("/tmp", "ubuntu_cz_browser_user")
                self.moz = gtkmozembed.MozEmbed()
box = gtk.VBox(False,10)

win = gtk.Window()

win.add(box)
hbox = gtk.HBox(False,10)

                button = gtk.Button("Back")
button.connect("clicked",self.button_clicked,self.moz)
hbox.pack_start(button)
                button.show()

                button = gtk.Button("Forward")
button.connect("clicked",self.button_clicked2,self.moz)
                hbox.pack_start(button)
                button.show()

                button = gtk.Button("Close")
button.connect("clicked",self.destroy,self.moz)
                hbox.pack_start(button)
                button.show()
               
                button = gtk.Button("Terminal")
button.connect("clicked",self.term,self.moz)
                hbox.pack_start(button)
                button.show()

                button = gtk.Button("Editor")
button.connect("clicked",self.editor,self.moz)
                hbox.pack_start(button)
                button.show()

                button = gtk.Button("Google")
button.connect("clicked",self.google,self.moz)
                hbox.pack_start(button)
                button.show()

                button = gtk.Button("Scriptbook")
button.connect("clicked",self.sbook,self.moz)
                hbox.pack_start(button)
                button.show()

                button = gtk.Button("Screenshot")
button.connect("clicked",self.screen,self.moz)
                hbox.pack_start(button)
                button.show()

                box.pack_start(hbox,False,False)
                hbox.show()
box.pack_start(self.moz,True,True,0)

                self.moz.show()
self.moz.load_url('http://forum.ubuntu.cz/index.php?action=login2&user=mujlogin&passwrd=mojeheslo')
                self.moz.set_size_request(950,650)

title=self.moz.get_title()
win.set_title("Ubuntu CZ Browser")
               

win.show_all()

win.connect("delete_event",self.delete_event)
win.connect("destroy",self.destroy)

if __name__ == "__main__":
PyMoz()
gtk.main()

gbrowser.py

Kód: [Vybrat]
#!/usr/bin/python

import pygtk
pygtk.require('2.0')
import gtk
import gtkmozembed



class PyMoz:

def delete_event(self,widget,data=None):
print("Exit")
return False

def destroy(self,widget,data=None):
gtk.main_quit()

def button_clicked(self,widget,data):
data.go_back()

        def button_clicked2(self,widget,data):
data.go_forward()

       
def __init__(self):
                gtkmozembed.set_profile_path("/tmp", "google_browser_user")
                self.moz = gtkmozembed.MozEmbed()

box = gtk.VBox(False,10)

win = gtk.Window()

win.add(box)
hbox = gtk.HBox(False,10)

                button = gtk.Button("Back")
button.connect("clicked",self.button_clicked,self.moz)
hbox.pack_start(button)
                button.show()

                button = gtk.Button("Forward")
button.connect("clicked",self.button_clicked2,self.moz)
                hbox.pack_start(button)
                button.show()

                button = gtk.Button("Close")
button.connect("clicked",self.destroy,self.moz)
                hbox.pack_start(button)
                button.show()
               

                box.pack_start(hbox,False,False)
                hbox.show()
box.pack_start(self.moz,True,True,0)

                self.moz.show()
self.moz.load_url('http://google.com')
                self.moz.set_size_request(750,450)

title=self.moz.get_title()
win.set_title("Google Browser")

win.show_all()

win.connect("delete_event",self.delete_event)
win.connect("destroy",self.destroy)

if __name__ == "__main__":
PyMoz()
gtk.main()

Název: Re: UBUTNU CZ Python Pack
Přispěvatel: Horatio 13 Listopadu 2009, 19:49:35
Posledni 3 dny jsem si psal nekolik scriptu v pythonu a u toho me napadlo take zkouset par veci. Vysledek ukazu zde. Mozna to absolutne nikdo nevyuzije, mozna jo. Rozdil mezi praci v browseru a timhle je o dost nizzsi vytizeni CPU a RAM + mam hned po ruce par potrebnych nastroju. Nevim jestli to bude funkcni u Windowsu (ani mne to moc nezajima), testovano to bylo jak na jaunty tak na Karmicu. Snazil jsem se pouzivat knihovny pythonu ktere by z 98% mel mit kazdej. Jestli nekdo bude mit problemy je potreba se kouknout do kazdeho pythonovskeho souboru a zjistit co chybi, pripadne pomuzu.

Ubuntu CZ Forum v Pythonu

(http://top100cyprus.com/czmain.png)

Otevrene vsechny dostupne nastroje (Google,terminal,Editor,Scriptbook, Screenshot)

(http://top100cyprus.com/uczpythonpack.png)

Jak to funguje ?

1.) vsechny scripty si ulozte do nejakeho spolecneho adresare (musi byt spolu, pokud nechcete menit strukturu kodu v jednotlivych pythonovych scriptech)

2.) vsem scriptum nastavte prava aby byli zpustitelne


3.) soubor ubrowser.py je nastaven tak ze vas automaticky prihlasuje na forum takze v pripade ze to chcete nechat takhle, otevrete si soubor ubrowser.py v textovem editoru a najdete si tenhle radek:

self.moz.load_url('http://forum.ubuntu.cz/index.php?action=login2&user=mujlogin&passwrd=mojeheslo')

dosadte si vase udaje

jstli nechcete aby vas prihlasoval automaticky zmente ten radek takhle:

self.moz.load_url('http://forum.ubuntu.cz')

ted si v editoru otevrete soubor screen.py a najdete tenhle radek:

    pb.save("/home/petrakis/Desktop/screenshot.png","png")

nastavte si cestu kam chcete aby vam ukladal screeshoty

4.) ulozte zmeny v souborech ubrowser.py a screen.py,nasledne si treba  na plose  vytvorte spustec a zadejte cestu k souboru ubrowser.py


5.) muzete jej zpustit


UBUNTU CZ Forum Pack obsahuje:


ubrowser.py
gbrowser.py (popup okno pro google)
terminal.py (popup okno pro vte terminal)
editor.py (popup okno s Edile Editorem)
SCRIPTBOOK.py (script book pro ukladani scriptu, poznamek atd)
screen.py (nastroj pro snimky obrazovky)

Puvodne jsem se snazil postnout vsechny kody sem ale bylo to asi dlouhy a nechtelo to vzit, takze prikladam link na zip v kterym se vsechny soubory nachazeji

http://top100cyprus.com/Ubuntu_cz_python_pack.zip (http://top100cyprus.com/Ubuntu_cz_python_pack.zip)


Nainštaloval som si to a je to bomba.Ďakujem!
Název: Re: UBUTNU CZ Python Pack
Přispěvatel: martin.bazant 27 Listopadu 2009, 08:37:59
Jo, vypadá to pěkně. Jen mi tam chybí řádek, kam zadávat adresu - přeci jen chodit na stránky tak, že si je nejprve vygooglím.. Ale jinak bezva! :-)
Název: Re: UBUTNU CZ Python Pack
Přispěvatel: petrakis 27 Listopadu 2009, 09:52:30
Zde je upravenej python script s adresni radkou

(http://top100cyprus.com/newbr.png)


samotnej script:

Kód: [Vybrat]
#!/usr/bin/python

import pygtk
pygtk.require('2.0')
import gtk
import gtkmozembed
import subprocess



class PyMoz:

def delete_event(self,widget,data=None):
print("Exit")
return False

def destroy(self,widget,data=None):
gtk.main_quit()

def button_clicked(self,widget,data):
data.go_back()

        def button_clicked2(self,widget,data):
data.go_forward()

        def term(self,widget,data):
subprocess.Popen("python terminal.py", shell=True)

        def editor(self,widget,data):
subprocess.Popen("python editor.py", shell=True)

        def google(self,widget,data):
subprocess.Popen("python gbrowser.py", shell=True)

        def sbook(self,widget,data):
subprocess.Popen("python SCRIPTBOOK.py", shell=True)

        def screen(self,widget,data):
subprocess.Popen("python screen.py", shell=True)

        def update_moz(self,widget):
self.entry.set_text(self.moz.get_location())
               

def urlgo(self,widget,i):
if i == 'go':
self.moz.load_url(self.entry.get_text())
       
def __init__(self):
#init mozembed
                gtkmozembed.set_profile_path("/tmp", "ubuntu_cz_browser_user")
                self.moz = gtkmozembed.MozEmbed()
box = gtk.VBox(False,10)

win = gtk.Window()

win.add(box)
hbox = gtk.HBox(False,10)

                self.entry = gtk.Entry()
                self.go_button = gtk.Button("GO")

                self.entry.connect("activate",self.urlgo,'go')

self.moz.connect("location",self.update_moz)
                self.go_button.connect("clicked",self.urlgo,'go')
                hbox.pack_start(self.entry, True, True, 0)
                hbox.pack_start(self.go_button, False, False, 0)
                box.pack_start(hbox,False,False)
                hbox.show()

                hbox = gtk.HBox(False,10)
         
                button = gtk.Button("Back")
button.connect("clicked",self.button_clicked,self.moz)
hbox.pack_start(button)
                button.show()

                button = gtk.Button("Forward")
button.connect("clicked",self.button_clicked2,self.moz)
                hbox.pack_start(button)
                button.show()

                button = gtk.Button("Close")
button.connect("clicked",self.destroy,self.moz)
                hbox.pack_start(button)
                button.show()
               
                button = gtk.Button("Terminal")
button.connect("clicked",self.term,self.moz)
                hbox.pack_start(button)
                button.show()

                button = gtk.Button("Editor")
button.connect("clicked",self.editor,self.moz)
                hbox.pack_start(button)
                button.show()

                button = gtk.Button("Google")
button.connect("clicked",self.google,self.moz)
                hbox.pack_start(button)
                button.show()

                button = gtk.Button("Scriptbook")
button.connect("clicked",self.sbook,self.moz)
                hbox.pack_start(button)
                button.show()

                button = gtk.Button("Screenshot")
button.connect("clicked",self.screen,self.moz)
                hbox.pack_start(button)
                button.show()

                box.pack_start(hbox,False,False)
                hbox.show()
box.pack_start(self.moz,True,True,0)

               
                self.moz.show()
self.moz.load_url('http://forum.ubuntu.cz/index.php?action=login2&user=mujlogin&passwrd=mojeheslo')
                self.moz.set_size_request(950,650)

title=self.moz.get_title()
win.set_title("Ubuntu CZ Browser")
               

win.show_all()

win.connect("delete_event",self.delete_event)
win.connect("destroy",self.destroy)

if __name__ == "__main__":
PyMoz()
gtk.main()
Název: Re: UBUTNU CZ Python Pack
Přispěvatel: martin.bazant 27 Listopadu 2009, 19:13:33
Seš husťák!  ;) Pěkná práce..

Edit: Teď jsem si všim, ráno mi to fungovalo, teď už ne (i před tím, než jsem přehrál skritp tím s adresním řádkem) -
některá tlačítka mi nefungují - nepř. když kliknu na Google (a mám prohlížeš spuštěný přes terminál), tak mi to v terminálu vypíše

Kód: [Vybrat]
python: can't open file 'gbrowser.py': [Errno 2] No such file or directory
u Editoru:
Kód: [Vybrat]
python: can't open file 'editor.py': [Errno 2] No such file or directory
atd.

Fungují jen tlačítka Back, Forward a Close.

Všechny soubory mám povolené pro spuštění a jsou v jednom adresáři..
Název: Re: UBUTNU CZ Python Pack
Přispěvatel: petrakis 27 Listopadu 2009, 19:46:30
ted jsem si to spustil a jde to bez problemu, error co ti vyhazuje ma do cineni ciste s adresarem. Doporucuji si to vse zkontrolovat znova. V scriptu oproti puvodnimu je jedina zmena a to ze je tam pridanej adresni radek
Název: Re: UBUTNU CZ Python Pack
Přispěvatel: martin.bazant 27 Listopadu 2009, 19:49:10
Tak už mi to zase funguje.. Nechápu.. ??? Ale hlavně že to jde..