Projet

Général

Profil

Bug #37322

paybox/validate vs python 3

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
29 octobre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

File "/usr/lib/python3/dist-packages/eopayment/paybox.py" in validate
  386.         return self.perform(amount, bank_data, PAYBOX_DIRECT_VALIDATE_OPERATION)

File "/usr/lib/python3/dist-packages/eopayment/paybox.py" in perform
  376.         data = dict(urlparse.parse_qsl(response.content, True, True))

File "/usr/lib/python3.5/urllib/parse.py" in parse_qsl
  608.     qs, _coerce_result = _coerce_args(qs)

File "/usr/lib/python3.5/urllib/parse.py" in _coerce_args
  115.     return _decode_args(args) + (_encode_result,)

File "/usr/lib/python3.5/urllib/parse.py" in _decode_args
  99.     return tuple(x.decode(encoding, errors) if x else '' for x in args)

File "/usr/lib/python3.5/urllib/parse.py" in <genexpr>
  99.     return tuple(x.decode(encoding, errors) if x else '' for x in args)

Fichiers


Demandes liées

Lié à Combo - Bug #37321: UnicodeDecodeError validate-transactionFermé29 octobre 2019

Actions

Révisions associées

Révision 8a670206 (diff)
Ajouté par Frédéric Péters il y a plus de 4 ans

paybox: fix validate/cancel operations encoding handling (#37322)

Révision 09a9eb15 (diff)
Ajouté par Frédéric Péters il y a plus de 4 ans

paybox: fix validate/cancel operations encoding handling (#37322)

Historique

#1

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

#2

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

(testé en vrai avec paybox mais avec une référence invalide du coup il répond "non autorise" sans accent et ça teste moins).

(on appréciera au passage l'état du test avant ce patch)

#3

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

  • Statut changé de Solution proposée à En cours
#4

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

Il y avait d'autres tests qui eux étaient plus complets, etc.

#5

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

  • Lié à Bug #37321: UnicodeDecodeError validate-transaction ajouté
#6

Mis à jour par Thomas Noël il y a plus de 4 ans

(le patch précédent c'était une erreur ?)

#7

Mis à jour par Thomas Noël il y a plus de 4 ans

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

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

(le patch initial était tout autre chose, tapé par erreur parce qu'il s'est trouvé en haut de mon sélecteur de fichiers triant exceptionnellement les fichiers alphabétiquement plutôt que par date de modif)

#9

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

J'ai toujours une appréhension sur la capacité de requests à détecter correctement l'encodage, j'aurai bien mis un response.encoding = 'utf-8' puisqu'on est sûr que ça ne doit renvoyer que ça.

#10

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

response.encoding = 'utf-8' puisqu'on est sûr que ça ne doit renvoyer que ça

Au contraire paybox retourne :

(Pdb) response.headers
{'Date': 'Tue, 29 Oct 2019 14:33:31 GMT', 'Server': 'Apache', 'Content-Length': '146', 'Keep-Alive': 'timeout=15, max=100', 'Connection': 'Keep-Alive', 'Content-Type': 'text/html; charset=ISO-8859-1'}

Prendre le .text plutôt que le .content assure justement que ça va suivre ça correctement. (bien sûr on peut se dire que paybox pourrait basculer en utf-8 et ne pas modifier cet entête, mais j'y crois moyen).

#11

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

  • Statut changé de Solution validée à Résolu (à déployer)
commit 8a6702066d806b578ddc04145ec6910e6474f553
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Tue Oct 29 15:30:38 2019 +0100

    paybox: fix validate/cancel operations encoding handling (#37322)
#12

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

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

Formats disponibles : Atom PDF