[Python] Test su locale

Pietro Battiston me a pietrobattiston.it
Mar 29 Giu 2010 17:54:09 CEST


Il giorno mar, 29/06/2010 alle 17.17 +0200, Manlio Perillo ha scritto:
> Il 29/06/2010 16:09, Pietro Battiston ha scritto:
> > Ohilà,
> > 
> > sapreste suggerirmi un modo furbo per fare dei test che "giochino" con
> > le locale e siano portabili?
> > 
> > 
> > Questo breve test:
> > 
> > http://trac.gispython.org/lab/browser/Shapely/branches/1.2/shapely/tests/wkt_locale.txt
> > 
> > è scritto per verificare che shapely - la libreria di cui fa parte - si
> > comporti bene anche con locale in cui il separatore decimale è una
> > virgola. Il problema è che il test ovviamente fallisce sui sistemi in
> > cui la locale prescelta, 'pt_BR.UTF-8', non è installata.
> > 
> > Per quel che ne so, l'unica locale che si può presumere "installata"
> > ovunque è "C", che però è inutile per quel che riguarda il test del
> > separatore decimale.
> > 
> > Idee? Non sono nemmeno riuscito a capire se esiste un modo (che non sia
> > ravanare tra i file di sistema) per capire _quali_ locale sono
> > disponibili...
> > 
> 
> Non utilizzare il locale di sistema, ed usa invece CLDR
> http://cldr.unicode.org/
> 
> implementato in Babel:
> http://babel.edgewall.org/
> 

Uhm... se ho capito bene, intendi che non è da cambiare (solo) il test,
ma la funzione testata.

Ma sempre se ho capito bene, il problema è che la rappresentazioni dei
numeri è fornita da una libreria C sottostante e indipendente.

E se ho capito miracolosamente bene, babel lo devo decidere di
utilizzare esplicitamente io quando rappresento stampo un numero/una
data, cosa che invece quella libreria python non fa affatto...

Quindi la risposta sarebbe che senza andare a cambiare il codice C, un
test come quello semplicemente non può esistere?

Pietro



Maggiori informazioni sulla lista Python