Projet

Général

Profil

Development #23720

Intégration wip/python3

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
14 mai 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

https://git.entrouvert.org/eopayment.git/log/?h=wip/python3 contient une branche pour la prise en charge de Python 3; comme eopayment est une dépendance de Combo, il faudra d'abord intégrer celle-ci avant de regarder à celle de Combo.

Commits multiples pour aider la relecture, puis squash quand il sera temps d'intégrer.

Révisions associées

Révision 887832bc (diff)
Ajouté par Frédéric Péters il y a presque 6 ans

add python3 compatibility (#23720)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a presque 6 ans

  • python3: use six to get urlparse/urllib modules
    +from django.utils.six.moves.urllib.parse import parse_qs
    
    no django please
  • common: add escape() method for python3: +if six.PY2: je serai pour choisir si on met toujours if six.PY2 ou if six.PY3 mais ne pas changer (bon bien sur si il n'y qu'une branche remplie dans le if on met le plus simple, ou alors if not je n'ai pas trop d'avis là)
  • ogone: directly parse querystring as iso-8859-1 in python3: là je ne comprends pas, me semble que le code marchait aussi bien en python3 qu'en python2 (dans le cas python3 on avait directement de l'unicode à la sortie de parse_qs, mais ça n'aurait pas dérangé force_text), à la rigueur mettre un commentaire comme quoi force_text() est un NOOP en python3 (ou alors c'est pour quand on abandonnera python2, penser à retirer le code, why not, si c'est le cas préférer if six.PY2 dans la remarque précédente)
    -        # uniformize iso-8859-1 encoded values
    -        for key in params:
    -            params[key] = force_text(params[key], 'iso-8859-1')
    +        if six.PY2:
    +            # uniformize iso-8859-1 encoded values
    +            for key in params:
    +                params[key] = unicode(params[key], 'iso-8859-1')
    +
    
    
  • spplus: adapt for python3: je pense qu'on peut virer spplus ça n'existe plus
#2

Mis à jour par Frédéric Péters il y a presque 6 ans

  • Statut changé de Nouveau à Solution proposée
  • Patch proposed changé de Non à Oui

Commentaires pris en compte, aussi dans la branche deux commits sur tipi de François Poulain, et la création d'un test unitaire pour tipi par moi-même. Seul truc je n'ai pas dégagé spplus, je ferai un autre ticket. (le truc étant que la docstring de Payment fait référence à spplus, faut nettoyer ça aussi, etc.).

Branche avec série de commits mais j'en ferai un seul gros, + l'ajout test unitaire tipi dans un commit séparé.

#3

Mis à jour par Benjamin Dauvergne il y a presque 6 ans

  • add basic unit test for dummywip/python3 : il manque le test
#4

Mis à jour par Benjamin Dauvergne il y a presque 6 ans

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

À part ça ok pour moi.

#5

Mis à jour par Frédéric Péters il y a presque 6 ans

  • Statut changé de Solution validée à Résolu (à déployer)

Fichier du test ajouté et code poussé, avec un vilain --force parce que j'avais oublié de réécrire le message de commit pour la version squashée.

commit 887832bc5fb442ef887e8690c5353bf833854c32
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Mon Mar 26 09:56:16 2018 +0200

    add python3 compatibility (#23720)
#6

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

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF