Projet

Général

Profil

Development #37572

retirer les appels à unicode()

Ajouté par Frédéric Péters il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Rejeté
Priorité:
Normal
Assigné à:
Version cible:
-
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

Lié à w.c.s. - Development #36515: Tourner (les tests) en Python 3Fermé30 septembre 201930 novembre 2019

Actions

Historique

#1

Mis à jour par Frédéric Péters il y a plus de 4 ans

Patch bête.

#2

Mis à jour par Frédéric Péters il y a plus de 4 ans

#3

Mis à jour par Frédéric Péters il y a plus de 4 ans

Et néanmoins à corriger parce que j'ai oublié de passer la gestion des erreurs avec un paramètre explicite.

#4

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.

#5

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.

#6

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.

#7

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Solution validée à Rejeté

Formats disponibles : Atom PDF