On 2013-11-24 08:32, Giovanni Porcari wrote:
Il giorno 24/nov/2013, alle ore 02:33, Daniele Varrazzo
<p...@develer.com> ha scritto:

Ma un file di configurazione: ma che ci vuole sax per parsare un paio di fetenti coppie chiave valore? Ancora a pensare solo per un secondo se un valore logico lo devi scrivere come 1, true oppure v? C'è di meglio, no?

<db>
  <development implementation="postgres" host="localhost" port='5432'
password="mypassword" user="myuser"/>

Io ad esempio lo leggo così:

config=Bag(myfile)
development_port=config('db.development?port')
'5432'

Esattamente quello che intendevo: lo leggi male. L'interfaccia è fica e comodissima, ne sono certo, ma l'informazione nel file è incompleta. Passa la stringa "5432" ad una funzione socket e quella esploderà:

    >>> s.listen(('localhost', '5432'))
    TypeError: an integer is required

Tra l'altro "5432" non è chiaramente una porta valida: è maggiore di 65535:

    >>> "5432" > 65535
    True

Ad un file di configurazione si chiedono poche cose. Tra queste secondo me sono abbastanza importanti:

- essere editabile a mano
- essere fortemente tipizzato

e ad xml mancano entrambe.

-- Daniele

_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a