Scopiazzando Prendendo spunto da questo articolo di gialloporpora ho modificato leggermente il codice in python che permette di utilizzare l'ultimo post Tweet di Twitter come firma su Mozilla Thunderbird. Il mio codice prende in ingresso un file con le prime righe della firma e restituisce un nuovo file la cui ultima riga corrisponde all'ultimo post su Twitter (se al momento della lettura del feed dovesse avere dei problemi aggiunge una frase predefinita).
Questo è il codice che ho modificato partendo da quello di gialloporpora (se ci sono errori potete dovete segnalarli nei commenti! :-P).
Per funzionare necessita del modulo Universal Feed Parser.
# File twittersig.py - autore: gialloporpora # modificato da: willygroup # importa il modulo feedparser.py import feedparser # nella variabile twitter_feed va inserito il feed che volete sia usato # per la firma delle vostre email twitter_feed="http://twitter.com/statuses/user_timeline/ID-TWITTER.atom" # *nome_file_firma* deve contenere il percorso del file usato come firma # in Thunderbird, se il file twittersig viene creato nella stessa cartella # in cui si trova il file di firma # non e' necessario specificare il percorso, ma solamente il nome del file # stesso, in ogni caso, per evitare di dover fare l'escape dei backslash # (\\ al posto di \) viene definita come stringa grezza # (r che precede la stringa stessa) nome_file_firma_origine=r"PosizioneFirmaOriginale" nome_file_firma_destinazione=r"PosizioneFirmaModificata" # crea l'oggetto file file_firma=open(nome_file_firma_origine,"r") file_firma_new=open(nome_file_firma_destinazione,"w") file_firma_new.write(file_firma.read()) # usa il metodo parse definito nel modulo feedparser per leggere il feed x=feedparser.parse(twitter_feed) # la prima entry del feed viene usata come firma se non viene trovata # alcuna entry viene utilizzata una riga di default (attenzione: i # comandi da eseguire nell'if e nell'else devono essere indentati!) if len(x['entries'])>0: firma="* "+x['entries'][0]['title'] else: firma = "RigaDiDefault" # scrittura del file di firma, e' necessario utilizzare la giusta codifica # caratteri, se si utilizza una codifica diversa da utf-8 nella composizione # dei messaggi e' necessario modificare utf-8 con la codifica in uso file_firma_new.write(firma.encode("utf-8")) # chiude i file file_firma_new.close() file_firma.close() |
Per aggiornare la firma occorre eseguire lo script python da terminale.
Si può fare da terminale:
python twittersig.py |
oppure si può automatizzare l'esecuzione dello script utilizzando Lingon (lo sviluppo è stato abbandonato da un paio d'anni, ma funziona ancora), configurandolo in questo modo (clicca sull'immagine per ingrandirla):
Altri metodi per automatizzare l'esecuzione di programmi e script sotto Mac OsX li potete trovare descritti in questo articolo.
Fonti:
http://www.gialloporpora.netsons.org/thunderbird-usare-lultimo-post-di-twitter-come-firma/210/
http://jeby.blogspot.com/2008/06/launchd-eseguire-operazioni.html
http://sourceforge.net/projects/lingon/files/
Altri articoli che potrebbero interessare:
Mettere le ultime news del blog in firma (Thunderbird) | Il blog che non c'è
Se vuoi trovi una versione migliorata qui:
http://github.com/gialloporpora/feedsig
è tanto che dovrei finire di sistemarla ma non lo faccio mai, non so se è quella che uso per generare la firma sull'NG perchè forse quella in locale è leggermente più aggiornata ma dovrebbe funzionare 🙂
Ciao
Qui trovi una versione molto migliorata di quel codice:
http://github.com/gialloporpora/feedsig
dovrei migliorarla ulteriormente ma non mi viene mai la voglia di rifinirlo. Avevo anche una mezza idea di farci l'interfaccia con WxPython ma ci ho rinunciato 😛
Ciao
Ho dato velocemente un'occhiata e sembra notevole.
Se riesco domani me lo studio a fondo 🙂