Re: [Python] Che barba sta codifica!
Il 20/06/2015 09:39, Marco Buttu ha scritto: On 19/06/2015 17:56, Manlio Perillo wrote: Documentati il prima possibile. Ad esempio: http://www.joelonsoftware.com/articles/Unicode.html Ascolta il suggerimento di Manlio ;) La codifica dei caratteri e' il pane quotidiano di un programmatore Se il convento passa questo, bisogna adeguarsi :) Morale della favola: * impensabile non spendere qualche pomeriggio per studiare la codifica dei caratteri * byte e testo non sono la stessa cosa * Python 3 ha scelto la soluzione piu' pythonica per gestire la cosa Avevo cominciato questo progetto con django e python3, ma non mi ricordo quale caspita di pacchetto era compatibile solo con python2. Sara' per il prossimo o per un futuro aggiornamento. Grazie mille della spiegazione ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Why should I care about the netiquette? [Was: Re: VI PREGO AIUTATEMI!!!! Problema con Pyahton]
On 19/06/2015 16:59, Carlo Miron wrote: 2015-06-19 16:34 GMT+02:00 Diego Barreradiegonebarr...@yahoo.it: Il 19/06/2015 13:28, Michele Orru` ha scritto: In compenso però permette di farci pompini a vicenda™ Bella questa :) un po' macabra ma bella! https://www.youtube.com/watch?v=j-WrzQ1a_CU Carlo, non te ne sfugge una :D -- Marco Buttu INAF-Osservatorio Astronomico di Cagliari Via della Scienza n. 5, 09047 Selargius (CA) Phone: 070 711 80 217 Email: mbu...@oa-cagliari.inaf.it ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Che barba sta codifica!
Il 20/06/2015 11:38, Carlos Catucci ha scritto: 2015-06-20 11:25 GMT+02:00 Diego Barrera diegonebarr...@yahoo.it mailto:diegonebarr...@yahoo.it: Gia' sto un bel pezzo avanti, devo capire come includere questa cosa nel mio codice.. Chiamasi refactoring. Se fai continuous integration e' una cosa quotidiana. Stessa cosa se hai dei capi/committenti che non sanno cazzo vogliono. Mal comune mezzo gaudio! Ti sono vicino ;) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Che barba sta codifica!
On 19/06/2015 17:56, Manlio Perillo wrote: 2015-06-19 16:58 GMT+02:00 Diego Barrera diegonebarr...@yahoo.it mailto:diegonebarr...@yahoo.it: premesso che non ho mai capito come funziona la codifica dei caratteri, Documentati il prima possibile. Ad esempio: http://www.joelonsoftware.com/articles/Unicode.html Ascolta il suggerimento di Manlio ;) La codifica dei caratteri e' il pane quotidiano di un programmatore, per cui se non si capisce come funziona, prima di andare avanti ci si deve soffermare (un pomeriggio, due, quanto basta) per studiarla e capirla *sino in fondo*. E' veramente un concetto imprescindibile. La distinzione tra testo e byte che si ha in Python 3 viene spesso criticata, ma credo sia uno dei suoi maggiori punti di forza, ed è una scelta veramente Pythonica, in perfetto accordo con lo Zen di Python. In Python 2 poi darmi una sequenza di byte come stringa: open('myfile', 'w').write('via 1\xf8 Maggio, 21') # Python 2 e io posso leggerla come testo, senza pormi alcun problema: open('myfile').read() # Python 2 'via 1\xf8 Maggio, 21' Questo non solleva eccezioni, e per chi non sa cosa sta sotto il passaggio da byte a testo (che qua non avviene, perche' in Python 2 e' un miscuglio) e viceversa, e' il comportamento desiderato, visto che Il mio programma gira, anche se ogni tanto mi saltano fuori caratteri strani. E infatti anche per questo abbiamo mojibake dietro ogni angolo. In Python 3 la musica cambia. *Giustamente* i byte sono byte, e il testo e' testo, ovvero una sequenza di byte interpretata secondo una data codifica. Apro il file in lettura, e per default open() tira fuori il _testo_. Ma per poter ottenere testo da quella sequenza di byte, ovviamente deve poter sapere come interpretare tali byte. Per default ipotizza che voglio usare l'encoding impostato nella mia macchina (utf-8): open('myfile').read() Traceback (most recent call last): ... UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf8... Non e' utf-8. Se so cosa fare, lo faccio: open('myfile', encoding='cp850').read() # Grazie a Carlo ;) 'via 1° Maggio, 21' Se non ho idea di come il testo originale e' stato codificato, e non voglio provare ad indovinare, posso *esplicitamente* indicare di fare passare gli errori silenziosamente: open('myfile', errors='ignore').read() 'via 1 Maggio, 21' Explicit is better than implicit and Errors should never pass silently. Morale della favola: * impensabile non spendere qualche pomeriggio per studiare la codifica dei caratteri * byte e testo non sono la stessa cosa * Python 3 ha scelto la soluzione piu' pythonica per gestire la cosa -- Marco Buttu INAF-Osservatorio Astronomico di Cagliari Via della Scienza n. 5, 09047 Selargius (CA) Phone: 070 711 80 217 Email: mbu...@oa-cagliari.inaf.it ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Che barba sta codifica!
Il 20/06/2015 11:25, Manlio Perillo ha scritto: 2015-06-20 11:22 GMT+02:00 Diego Barrera diegonebarr...@yahoo.it mailto:diegonebarr...@yahoo.it: Controlla che sia UTF-8, e se non lo è riporta un *chiaro* messaggio di errore. Inoltre specifica che il file deve essere in UTF-8 anche nella documentazione del form HTML. In realta' utilizzo django-model-form solo per validare i dati, non per renderizzare dell'html. In pratica il programma 1. legge un csv e infila i dati in un dizionario 2. da' il dizionario in pasto al django-model-form 3. il django-model-form valida i dati 4. se tutto e' andato a buon fine invoca il metodo save() Siccome abbiamo vari clienti, ed ognuno manda un formato diverso di csv, posso intervenire nel punto 1 perche' e' comunque customizzato per ogni cliente. Grazie 1k ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Che barba sta codifica!
On Jun 20, 2015 1:49 PM, Manlio Perillo manlio.peri...@gmail.com wrote: Ricorda che ogni volta che non usi UTF-8 per la codifica, un programmatore perde i capelli a causa dello stress. Ora capisco tutto... -- http://beri.it/ - Un blog http://beri.it/i-miei-libri/ - Qualche libro http://beri.it/articoli/ - Qualche articolo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Che barba sta codifica!
Il 19/06/2015 17:56, Manlio Perillo ha scritto: 2015-06-19 16:58 GMT+02:00 Diego Barrera diegonebarr...@yahoo.it mailto:diegonebarr...@yahoo.it: Ciao lista, premesso che non ho mai capito come funziona la codifica dei caratteri, Documentati il prima possibile. Ad esempio: http://www.joelonsoftware.com/articles/Unicode.html Grazie del link La stringa viene letta e inserita in un django-model-form, poi viene invocato il metodo save() La stringa viene inviata da una macchina windows di un cliente tramite csv Non ho capito bene come viene inviata la stringa. Il client invia il file così come è? In questo caso c'è poco da fare, perchè non hai modo di conoscere l'encoding usato nel file (ma puoi cercare di indovinarlo). Avevo chiesto esplicitamente alla software house di questo nostro cliente di utilizzare utf8... la prendo con filosofia e colgo l'occasione per imparare una cosa nuova. Grazie di nuovo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Why should I care about the netiquette? [Was: Re: VI PREGO AIUTATEMI!!!! Problema con Pyahton]
Gollum: Credo che comincerò a filtrare il filtrabile è farmi bellamente i cazzi miei. Non ragioniam di lor, ma guarda e passa -- Simone Federici Software Craftsman XP, Agile, Scrum, Kanban Quality, performance security Explicit is better than implicit. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Che barba sta codifica!
2015-06-20 11:59 GMT+02:00 Diego Barrera diegonebarr...@yahoo.it: Il 20/06/2015 11:25, Manlio Perillo ha scritto: 2015-06-20 11:22 GMT+02:00 Diego Barrera diegonebarr...@yahoo.it mailto:diegonebarr...@yahoo.it: Controlla che sia UTF-8, e se non lo è riporta un *chiaro* messaggio di errore. Inoltre specifica che il file deve essere in UTF-8 anche nella documentazione del form HTML. In realta' utilizzo django-model-form solo per validare i dati, non per renderizzare dell'html. In pratica il programma 1. legge un csv e infila i dati in un dizionario Se ci dai più informazioni magari possiamo aiutarti a risolvere (o almeno affrontare) il problema nel migliore dei modi. Questo programma gira sul server o sul client? È un programma desktop? Comunque anche se il programma gira sul PC del cliente, la soluzione più solida è quella di forzare UTF-8, perchè anche su Windows l'encoding di un file non può essere determinato con certezza assoluta (puoi sapere l'encoding di sistema e/o l'encoding della console, ma il programma che genera il file potrebbe usare UTF-8 o UTF-16). Ricorda che ogni volta che non usi UTF-8 per la codifica, un programmatore perde i capelli a causa dello stress. [...] Ciao Manlio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Why should I care about the netiquette? [Was: Re: VI PREGO AIUTATEMI!!!! Problema con Pyahton]
Anche a me spiacerebbe. Spiacerebbe anche a me! Pur essendo stato piú volte cazziato in passato! ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Che barba sta codifica!
Il 20/06/2015 13:57, Marco Beri ha scritto: On Jun 20, 2015 1:49 PM, Manlio Perillo manlio.peri...@gmail.com mailto:manlio.peri...@gmail.com wrote: Ricorda che ogni volta che non usi UTF-8 per la codifica, un programmatore perde i capelli a causa dello stress. Ora capisco tutto... ROTFL! ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Che barba sta codifica!
2015-06-20 11:22 GMT+02:00 Diego Barrera diegonebarr...@yahoo.it: Il 19/06/2015 17:56, Manlio Perillo ha scritto: [...] Non ho capito bene come viene inviata la stringa. Il client invia il file così come è? In questo caso c'è poco da fare, perchè non hai modo di conoscere l'encoding usato nel file (ma puoi cercare di indovinarlo). Avevo chiesto esplicitamente alla software house di questo nostro cliente di utilizzare utf8... la prendo con filosofia No, non prenderla con filosofia. Controlla che sia UTF-8, e se non lo è riporta un *chiaro* messaggio di errore. Inoltre specifica che il file deve essere in UTF-8 anche nella documentazione del form HTML. Ciao Manlio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Che barba sta codifica!
Il 19/06/2015 18:23, Carlo Miron ha scritto: 2015-06-19 16:58 GMT+02:00 Diego Barrera diegonebarr...@yahoo.it: e sto usando Python 2.17.9, leggendo la stringa Python 2.17.9 ??? :P Quando me ne sono accorto gia' avevo spinto invia :D Su un Python molto più vecchio, 2.7.9: print 'via 1\xf8 Maggio, 21'.decode('cp850') via 1° Maggio, 21 Gia' sto un bel pezzo avanti, devo capire come includere questa cosa nel mio codice.. grazie! ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [python] Re: Che barba sta codifica!
On 20 Jun 2015 at 11:38, Carlos Catucci wrote: 2015-06-20 11:25 GMT+02:00 Diego Barrera diegonebarr...@yahoo.it: Gia' sto un bel pezzo avanti, devo capire come includere questa cosa nel mio codice.. Chiamasi refactoring. Se fai continuous integration e' una cosa quotidiana. Stessa cosa se hai dei capi/committenti che non sanno cazzo vogliono. A me capitano sempre di questo tipo, che cazz... Carlos -- EZLN ... Para Todos Todo ... Nada para nosotros i committenti che non sanno cosa vogliono sono il 99.999%. io ne devo ancora trovare di clienti che sanno chiaramente che hardware vogliono e che software vogliono. mentre quelli che vogliono spendere nulla o quasi sonoil 99.999%, senza rendersi conto del tempo che ci perdi. saluti Gilberto Computer Service Lido Estensi (Fe) tel.:0533328922 cell.:338/2791579 cserv...@simail.it http://gilwiki.altervista.org ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Che barba sta codifica!
2015-06-19 17:56 GMT+02:00 Manlio Perillo manlio.peri...@gmail.com: Documentati il prima possibile. Ad esempio: http://www.joelonsoftware.com/articles/Unicode.html E in ambito Python-specifico vedi anche Unipain, video e presentazione: http://nedbatchelder.com/text/unipain.html -- Andrea ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Che barba sta codifica!
On 06/19/2015 04:58 PM, Diego Barrera wrote: premesso che non ho mai capito come funziona la codifica dei caratteri, Ho sempre amato questo: http://farmdev.com/talks/unicode/ Enrico ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Che barba sta codifica!
Il 20 giugno 2015 15:40:17 CEST, Enrico Bianchi enrico.bian...@ymail.com ha scritto: On 06/19/2015 04:58 PM, Diego Barrera wrote: premesso che non ho mai capito come funziona la codifica dei caratteri, Ho sempre amato questo: http://farmdev.com/talks/unicode/ Enrico ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python Ottima presentazione, thanks for sharing! Fabio -- Inviato dal mio dispositivo Android con K-9 Mail. Perdonate la brevità.___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Che barba sta codifica!
Marco Beri: Ricorda che ogni volta che non usi UTF-8 per la codifica, un programmatore perde i capelli a causa dello stress. Ora capisco tutto... posso essere l'eccezione che conferma la regola? ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Che barba sta codifica!
Il 20 giugno 2015 13:57:56 CEST, Marco Beri marcob...@gmail.com ha scritto: On Jun 20, 2015 1:49 PM, Manlio Perillo manlio.peri...@gmail.com wrote: Ricorda che ogni volta che non usi UTF-8 per la codifica, un programmatore perde i capelli a causa dello stress. Ora capisco tutto... Quando ho letto quella frase ho proprio pensato a te... :) Byez -- Gollum1 Teoro, dov'è il mio teoro Inviato dal mio dispositivo Android con K-9 Mail. Perdonate la brevità e gli errori di battitura (maledetto correttore automatico). ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Circular references Django migration problem
2015-06-19 13:51 GMT+02:00 Marco Beri marcob...@gmail.com: Questo commento non ti aiuta? https://code.djangoproject.com/ticket/22932#comment:4 Allora finalmente ho avuto tempo (rubato) per controlalre la circular reference. Ho letto quello che accennava l'articolo che mi hai indicato e altri, e ho seguito il consiglio di Simomne, solo che non ci sono referenze circolari. Per essere certo che non mi sfuggise nulla ho preso un mind-pmapper, ho creto uno schema cei models delle apps interessate, elencando sotto ogni tabella le foreign key e poi collegandole alle tanbelle linkate. Dopo ho cambiato il colore di quelle che puntano ad altre tabelle della stessa app. Sono rimaste alla fine 4 soli link. Solo che non ci sono referenze circolari di alcun tipo. E mi trovo punto e a capo. Va beh lunedi' provo a commentare un poco di rovba fino a che non vedo socmparire la Circular Ref cosi da capire cosa gli dia fastidio. Carlos -- EZLN ... Para Todos Todo ... Nada para nosotros ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python