pyafipws icon indicating copy to clipboard operation
pyafipws copied to clipboard

WSAA Python3 UTF-8 Encoding

Open urbinacity opened this issue 6 years ago • 4 comments

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

urbinacity avatar Jun 19 '18 13:06 urbinacity

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.

reingart avatar Jun 20 '18 02:06 reingart

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?

urbinacity avatar Jun 20 '18 03:06 urbinacity

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 avatar Jun 23 '18 09:06 jjscarafia

@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..

reingart avatar Jun 25 '18 00:06 reingart