pyafipws
pyafipws copied to clipboard
WSAA Python3 UTF-8 Encoding
Para corregir excepciones de Python3 por encodings (TypeError y AttributeError) se les añadio encode('utf8') o decode('utf8') a las llamadas a funciones:
- BIO.MemoryBuffer
- email.message_from_string
Además el archivo wsaa.py ahora tiene codificación utf8 y los espacios en blancos fueron removidos
Gracias por el aporte @urbina05 !
Consultas:
- Al cambiar el método SignTRA, no está fallando el tema de encoding en sing_tra cuando no está instalado M2Crypto? (BIO = False)
- ¿Que paquete / repo / branch estarías usando para M2Crypto en python 3?
- ¿El código comentado en
WebClient.__call__
funciona en todos los casos?
Si puedo mañana lo pruebo (y recorro los tests para ver en que estado están); sería útil si alguien más puede revisarlo antes del merge.
De nada, estos cambios me salvaron de una.
Te respondo en orden:
-
Seguramente sí, no probé desinstalar M2Crypto: es uno de los requisitos.
-
M2Cryto ya está compatible con Python 3, asegurate de instalar usando pip3 https://pypi.org/project/M2Crypto/
-
No comenté/utilicé ese código, ¿a cual te referís?
Lo probé en local y me funcionó perfecto con este PR e instalando M2Crypto con "pip3 install M2Crypto". No estoy muy seguro de como probarlo sin el M2Crypto, por lo cual esa prueba estaría pendiente
@jjscarafia para probarlo sin M2Crypto habría que desinstalar ese paquete o saltear el import en wsaa.py:30
raise ImportError
from M2Crypto import BIO, Rand, SMIME, SSL
@urbina05 ahi hice el comentario en la parte que está comentada en WebClient
(punto 3)
Habría que revisar la cobertura de los tests, porque puede haber algunas partes del código que no se usen frecuentemente, dependan del sistema operativo, etc..