Passa ai contenuti principali

Post

Visualizzazione dei post da marzo, 2012

Categorie per le applicazioni secondo freedesktop

Mi sono sempre chiesto se i nomi delle categorie a cui può appartenere un'applicazione fossero un'invenzione di Ubuntu o di Gnome. L'elenco delle categorie si trova nel file .desktop dell'applicazione e corrisponde alla voce "Categories". I file .desktop delle applicazioni standard si trovano sotto /usr/share/applications . Le categorie influenzano, per esempio, il posizionamento dell'icona di una applicazione nel menù del desktop. Recentemente ho scoperto che i nomi sono definiti dallo standard di freedesktop; una descrizione precisa si trova a questa pagina: http://standards.freedesktop.org/menu-spec/menu-spec-1.0.html#category-registry Quindi, almeno in teoria, le categorie influenzano nello stesso modo tutti i desktop environment che dichiarano di aderire allo standard freedesktop.

Inizia la caccia ai moduli per Python3

Nonostante sia già stato rilasciato da molto tempo, sembra che i moduli integrativi per Python3 siano ancora un po' scarsi. La prima volta che ho avuto questa impressione è stato cercando un modulo di collegamento tra Python3 e MySQL. Il modulo MySQLdb che ho sempre utilizzato con Python2 non è disponibile per la versione 3 del linguaggio e non si capisce neanche se lo sarà mai. In Internet si trovano un po' di alternative, ma per molte non si capisce il grado di maturità (o si capisce benissimo che non è elevato) e il supporto. Sono arrivato alla conclusione che il candidato più affidabile sia  oursql . Gli altri due moduli compatibili anche con Python3 sono:  PyMySQL  e  MySQL Connector/Python  (quest'ultimo, tra l'altro, è puro Python, quindi non ha bisogno di librerie MySQL). Tra l'altro SQLAlchemy  si dimostra sempre eccezionale perché è in grado di utilizzare tutti i suddetti moduli per connettersi al database.

Migrazione da Python 2 a 3

Il tool 2to3 fornito nella distribuzione di Python 3 si concentra sulla trasformazione dei vostri sorgenti da Python 2 a Python 3 rendendoli spesso inutilizzabili in Python 2. Però una versione del linguaggio non esclude l'altra: u tilizzando Python 2.6 o 2.7 ci si può preparare alla migrazione verso Python 3 scrivendo per quanto possibile del codice compatibile con entrambe le versioni. Per far questo si devono attivare i backport presenti in 2.6 e 2.7 e utilizzare le nuove sintassi compatibili anche con le versioni 2. L'elenco che segue non è esaustivo: è il frutto dell'esperienza che deriva dall'aver modificato un po' di moduli per renderli compatibili con entrambe le versioni del linguaggio. Modifiche generiche I “long” spariranno In Python 3 non ci sarà più distinzione tra int e long e quest’ultimo verrà eliminato, così come la sintassi “0L”. Quindi, per evitare problemi di sintassi, al posto di “0L” si può utilizzare “long(0)” in modo tale