Fórum Ubuntu CZ/SK
Ostatní => Tipy a triky pro Linux => Téma založeno: 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)
-
Docela se mi to líbí, aspoň bych to vyzkoušel, jen nemůžu najít balíček pro modul gtkmozembed
-
V pripade ze mas nainstalovanej Firefox, gtkmozembed mas automaticky aktivovanej ajestli ne tak to udelas instalaci python gnome extras
-
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
#!/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
#!/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()
-
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!
-
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! :-)
-
Zde je upravenej python script s adresni radkou
(http://top100cyprus.com/newbr.png)
samotnej script:
#!/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()
-
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
python: can't open file 'gbrowser.py': [Errno 2] No such file or directory
u Editoru:
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..
-
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
-
Tak už mi to zase funguje.. Nechápu.. ??? Ale hlavně že to jde..