TadaSoftware / PyNFe

Projeto de biblioteca para fazer interface com o webservice de Nota Fiscal eletrônica para Python, disponível sob LGPL.
http://groups.google.com/group/pynfe
Other
426 stars 173 forks source link

Problema de encoding ao descompactar mensagens: Unicode strings with encoding declaration are not supported. #282

Open agrings opened 1 year ago

agrings commented 1 year ago

O pynfe 0.4.3 apresenta problemas com encoding ao descompactar certos xmls :

    conteudo = DescompactaGzip.descompacta(zip_resp)
  File "/usr/local/lib/python3.8/site-packages/pynfe/utils/descompactar.py", line 30, in descompacta
    return etree.fromstring(descompactado)
  File "src/lxml/etree.pyx", line 3257, in lxml.etree.fromstring
  File "src/lxml/parser.pxi", line 1911, in lxml.etree._parseMemoryDocument
ValueError: Unicode strings with encoding declaration are not supported. Please use bytes input or XML fragments without declaration.

O problema pode ser contornado fazendo a seguinte alteração no "descompactar.py":

        descompactado = texto.decode('utf-8').encode()
        return etree.fromstring(descompactado)
leogregianin commented 1 year ago

@agrings seria interessante fazer um pull request. Consegue fazer um PR simulando a situação em um teste unitário?

felps-dev commented 7 months ago

@agrings consegue fazer como o @leogregianin mencionou? Seria de bastante utilidade para nós e outros utilizadores do projeto.