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... :-)
domenica 14 settembre 2008
Emesene: Cercare nella conversazione
Pubblicato da
Simone
@
3:34 PM
0
commenti
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. :-)
Pubblicato da
Simone
@
8:31 PM
0
commenti
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
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
Pubblicato da
Simone
@
8:36 PM
2
commenti
domenica 24 agosto 2008
MJoin - Join multiplo tramite lxsplit
Mi son trovato a dover unire (joinare) dei file precedentemente divisi (splittati) utilizzando lxsplit (con l'opzione -j). Purtroppo però questo programma manca di una funzionalità banale: non mi permette di joinare più file alla volta. Ho quindi creato uno script, MJoin, che se avviato senza alcun parametro joina tutti i file all'interno di quella directory. Si possono anche specificare i file su cui si vorrebbe operare. La funzione di help dovrebbe essere abbastanza comprensibile.
Scaricatelo da qua e per averlo eseguibile rinominatelo da mjoin.py a mjoin e rendendolo eseguibile copiatelo in /usr/bin o /usr/local/bin, a vostra scelta.
$ mv mjoin.py mjoinPotete vederlo in funzione dall'immagine del post.
$ chmod +x mjoin
$ su -c "mv mjoin /usr/bin"
$ mjoin [OPTIONS]
Pubblicato da
Simone
@
11:47 AM
4
commenti
Colorare l'output in shell
Ho avuto bisogno diverse volte di colorare l'output di un programma Python in shell. Ho ripreso l'idea da una funzione di Luciano Ferraro, l'ho migliorata aggiungendo una specie di linguaggio di markup... una fesseria.
Si chiama color_markup_string.py.
La potete usare così:
import color_markup_string as cmsPotete vederne un test nell'immagine del post.
print cms.color("Mela <green>verde</green>.")
print cms.color("Mela <red>rossa</red>.")
print cms.color("Mela <yellow>gialla</yellow>.")
Pubblicato da
Simone
@
9:04 AM
5
commenti
lunedì 26 novembre 2007
Word Hex
Circa una settimana fa stavo studiando tramite le guide di playhack.net (attualmente è inattivo per via di alcuni problemi tecnici) cos'è e come funziona uno shellcode. Seguendo la guida ho avuto il bisogno di scrivermi uno script in Python per convertire una stringa ASCII nel corrispondente esadecimale.
Potete leggerne il codice da questo link.
Comunque sembra funzionare:
simone@euclide ~/coding $ python word_hex.py checkm
0x6d6b63656863
simone@euclide ~/coding $
Per verificare la validità del risultato, prendetevi una tabella ASCII (io uso questa, che ho stampato e appeso vicino al computer) e controllate la colonna Hex e ricordatevi che il numero si legge al contrario quindi da destra verso sinistra, equivarrà cioè a "mkcehc". :-)
Pubblicato da
Simone
@
2:38 PM
0
commenti
sabato 8 settembre 2007
Pwdgen
Ho fatto un programma in C e GTK+ per generare delle password casuali perchè ho visto che viene considerata una cosa molto banale però nessuno si è degnato di farne uno decente. Per ora sono abbastanza apposto con i memory leaks e se anche valgrind sembra che ve ne dia parecchi è tutta colpa di GLib, ma tranquilli "GLib doesn't leak memory".
La versione disponibile non è per niente modulare. Però siccome ora pensavo di fare una configurazione che permetta di compilarlo con o senza il supporto di GTK+ nel caso in cui uno non l'abbia installato (partirà un'interfaccia testuale in questo caso) credo che appena avrò voglia lo riorganizzerò con Autotools e lo renderò più "piacevole".
Lo trovate quì.
Se non vi funziona il link significa che altervista rompe. :-) Copiate l'indirizzo e apritelo in un'altra scheda.
Pubblicato da
Simone
@
10:19 AM
0
commenti
giovedì 19 aprile 2007
PyChannel
Lethalman ha aperto il forum per il canale #python di azzurra. Tratta principalmente di Smalltalk e Python ma pubblichiamo spesso e volentieri delle news su quello che ci pare. :-) Speriamo abbia lo stesso "successo" dell'IPUG (Italian Python User Group) di più o meno un anno fa grazie al Python Cookbook che stavamo (stavano?) scrivendo. Comprendeva alcuni trucchetti utili che trovate quà. Se vi piace... unitevi! ;-)
Io sono admin. :-P
ScaccoMatto.
Pubblicato da
Simone
@
8:00 AM
0
commenti
martedì 17 aprile 2007
Password Creator
Mentre il mio computer era rallentato per via della ricompilazione del kernel ho creato questo. È una cagatina scritta con nano che genera password random. Foobar mi ha consigliato di fare in modo che l'utente possa scegliere l'algoritmo per generare la password random e mi ha fatto vedere come sfruttare /dev/dsp o /dev/urandom e perchè no, anche l'orologio di sistema. :-)
Vedrò...
ScaccoMatto.
Pubblicato da
Simone
@
3:18 PM
0
commenti