Development #37572
retirer les appels à unicode()
Début:
11 novembre 2019
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Sur la route de Python 3, plutôt passer par force_text() qui revient au même.
Fichiers
Demandes liées
Historique
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Fichier 0001-general-replace-unicode-calls-by-force_text-37572.patch 0001-general-replace-unicode-calls-by-force_text-37572.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Patch bête.
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Lié à Development #36515: Tourner (les tests) en Python 3 ajouté
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Fichier 0001-general-replace-unicode-calls-by-force_text-37572.patch 0001-general-replace-unicode-calls-by-force_text-37572.patch ajouté
Et néanmoins à corriger parce que j'ai oublié de passer la gestion des erreurs avec un paramètre explicite.
Mis à jour par Nicolas Roche il y a plus de 4 ans
- Statut changé de Solution proposée à Solution validée
J'ai l'impression qu'il y en a 2 qui sont passés sous ton radar :
if not isinstance(s, unicode): if get_publisher() and get_publisher().site_charset: s = unicode('%s' % s, get_publisher().site_charset, 'ignore') else: s = unicode('%s' % s, 'iso-8859-1', 'ignore') s = unicodedata.normalize('NFKD', s).encode('ascii', 'ignore')
Mais peut-être que c'est plus lisible comme ça vu le contexte.
Mis à jour par Frédéric Péters il y a plus de 4 ans
C'est utile de pointer le fichier où tu vois ça; dans le patch attaché :
if not isinstance(s, unicode): if get_publisher() and get_publisher().site_charset: - s = unicode('%s' % s, get_publisher().site_charset, 'ignore') + s = force_text('%s' % s, get_publisher().site_charset, errors='ignore') else: - s = unicode('%s' % s, 'iso-8859-1', 'ignore') + s = force_text('%s' % s, 'iso-8859-1', errors='ignore') s = unicodedata.normalize('NFKD', s).encode('ascii', 'ignore')
et je ne vois pas d'autres endroits avec NFKD dans le code.
Mis à jour par Nicolas Roche il y a plus de 4 ans
Oui c'est bien ce code que je ciblais (wcs/qommon/misc.py).
Désolé, visiblement parce que j'ai eu du mal à appliquer le patch, j'aurais du vérifier.