Projet

Général

Profil

Anomalie #6080

Gestion de l’unicode et des exceptions

Ajouté par Daniel Dehennin il y a plus de 10 ans. Mis à jour il y a plus de 10 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
23/09/2013
Echéance:
27/09/2013
% réalisé:

100%

Temps passé:
Distribution:
EOLE 2.4

Description

Le logger ne peut pas gérer correctement l’unicodisation des exceptions:

>>> python -c 'err = StandardError("« bidule »"); print unicode(err)'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 0: ordinal not in range(128)
>>> python -c 'err = StandardError("« bidule »"); print unicode(err, "UTF-8")'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
TypeError: coercing to Unicode: need string or buffer, exceptions.StandardError found
>>> python -c 'err = StandardError("« bidule »"); print unicode(err.message, "UTF-8")'
« bidule »

On tourne en boucle et on réajoute des u'…' partout…

Révisions associées

Révision 43271ec6 (diff)
Ajouté par Daniel Dehennin il y a plus de 10 ans

Repassage en unicode

Le passage en unicode des objets « Exceptions() » ne fonctionne pas, il
ne faut donc passer que le message de l’exception :

python -c 'err = StandardError("« bidule »"); print unicode(err)'
Traceback (most recent call last):
File "&lt;string&gt;", line 1, in &lt;module&gt;
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 0: ordinal not in range(128)
python -c 'err = StandardError("« bidule »"); print unicode(err, "UTF-8")'
Traceback (most recent call last):
File "&lt;string&gt;", line 1, in &lt;module&gt;
TypeError: coercing to Unicode: need string or buffer, exceptions.StandardError found
python -c 'err = StandardError("« bidule »"); print unicode(err.message, "UTF-8")'
« bidule »
  • bin/CreoleCat (main): Passage du message d’exception au logger.
  • bin/CreoleGet (main): Idem.
  • bin/CreoleService (main): Idem.
  • creole/reconfigure.py: Passage de toutes les chaîne de caractère en
    unicode.
    Passage du message d’exception au logger.
  • creole/server.py: Idem.
  • creole/template.py: Idem.

Fixes: #6080 @1h30

Historique

#1 Mis à jour par Daniel Dehennin il y a plus de 10 ans

  • Description mis à jour (diff)

#2 Mis à jour par Daniel Dehennin il y a plus de 10 ans

  • Statut changé de Accepté à Résolu
  • % réalisé changé de 0 à 100

#3 Mis à jour par Joël Cuissinat il y a plus de 10 ans

  • Statut changé de Résolu à Fermé

Formats disponibles : Atom PDF