checkm

domenica 14 settembre 2008

Emesene: Cercare nella conversazione

Oggi ho scritto una classe per Emesene che permette di cercare testo nella conversazione corrente con una piccola finestrella di dialogo. :-) A mio parere è molto comodo e supporta anche le espressioni regolari. Non ho mai trovato tanto facile creare una funzione di ricerca per un gtk.TextBuffer, quindi, se trovate qualsiasi bug, segnalatelo qua o nel post originale. ;-)

Download: search_conversation.patch
Url originale del post: topic,1531.0.html

Forse dovrei un po rallentare e fermarmi a pensare cosa serve veramente... :-)

sabato 13 settembre 2008

Emesene - GoogleSearch Plugin

Ho creato un plugin che permette di eseguire delle ricerche su Google mentre si conversa su Emesene utilizzando il comando /google. I risultati vengono inviati alla chat. Il plugin funziona con urllib e con le regex, invece di usare le API di Google che richiedono una chiave API e permettono di fare massimo 1000 ricerche al giorno.

Download: GoogleSearch.py
Url originale del post: topic,1529.0.html

Spero vi piaccia e vi sia utile.

PS: ringrazio Wolf che ha scritto questa guida. Mi ha permesso di camuffare urllib come se fosse Firefox cambiando lo UserAgent. :-)

venerdì 12 settembre 2008

Emesene: Plugin Away/Back

Ho creato un plugin per Emesene che aggiunge i comandi /away e /back per andare Online e Away velocemente durante la conversazione.

Download: Away.py
Url originale del post: topic,1527.0.html

Emesene: Salvare le conversazioni

Ho scritto una patch per Emesene che aggiunge un bottone al menu della finestra di conversazione per salvare il contenuto della chat su un file di testo.

E' la prima volta che partecipo ad un progetto opensource in modo attivo. Devo dire però che la comunità di Emesene sembra abbastanza accogliente. :-)

Download della patch: save_conversation.patch
Url originale del post: topic,1524.0.html

Attesa di caricamento sulla shell in Python

In seguito a questa discussione, ho pensato che fosse utile a diversa gente sapere come fare quelle cosette come le barre di caricamento, le percentuali che avanzano aggiornando la riga in stile wget. :-)

Ho scritto alcune soluzioni (importate time con import time):

1. Per fare la classica barretta roteante fatta di "| \ - /":

load = "| \ - /"
while
1:
for x in load:
sys.stdout.write("\r%s" % x)
time.sleep(0.05)
sys.stdout.flush()
2. Per fare una percentuale che avanza:
for x in range(100):
sys.stdout.write("\r%s%% Complete" % x)
time.sleep(0.5)
sys.stdout.flush()
3. Per fare una barra di caricamento con la percentuale :P :
bar = ""

for x in range(100):
sys.stdout.write("\r%s -> %s%%" % (bar, x))
time.sleep(0.5)
sys.stdout.flush()
bar = bar + "="
Credo che possa tornare utile a qualcuno... per me lo è! :-)

giovedì 4 settembre 2008

iComboBox - gtk.ComboBox con i menu

Per CodePaint ho avuto bisogno di un ComboBox che supportasse anche i menu. Ho quindi creato un widget che eredita da gtk.ComboBox e che utilizza gtk.TreeStore al posto del gtk.ListStore (quello predefinito).

Download: i_combo_box.py

Modificatelo come vi pare. :P

mercoledì 3 settembre 2008

CodePaint - Coloratore di codice

CodePaint è un programma in Python e GTK che permette di trasformare codice dei più comuni linguaggi/markup/templates in codice HTML evidenziato.
CodePaint sfrutta la libreria Pygments per la formattazione del codice HTML in diversi stili di colorazione. È possibile generare codice HTML che utilizzi CSS o con i colori definiti linea per linea. Offre inoltre una funzione di anteprima e permette di fare l'upload del codice HTML sul servizio di nopaste rafb.net e del CSS su FTP.

Non è ancora pienamente supportato Unicode ma spero che qualche buon'anima scriva un patch. :)

Download: codepaint-1.0.tar.gz

Una volta decompresso l'archivio, da root:

# python setup.py install
[...]
$ codepaint
Vi prego di segnalarmi qualsiasi bug o incomprensione nel funzionamento del programma. Accetto anche correzioni a livello di codice.

PS: ho avuto bisogno di questo programma perchè non sempre è possibile/facile mettere un syntax-highlighter su un blog o su un sito. Per esempio, in questo post la porzione di codice presente è stata scritta con CodePaint. Non ho voglia di lottare con blogger. :P

martedì 2 settembre 2008

FeedBurner

Ho aggiunto un link a pie' di pagina per iscriversi al blog.

Powered by FeedBurner