aricaldeira / PySPED

Sistema Público de Escrituração Digital em Python
GNU Lesser General Public License v2.1
108 stars 97 forks source link

Atualização do PySPED para Nf-e 3.10 #30

Open limamp opened 9 years ago

limamp commented 9 years ago

Ola Ari,

Fiz a alteração no código para o sistema NF-e 3.10 obrigatório a partir de 30/03/2015.

Gostaria de maiores informações sobre como postar aqui as modificações que realizei.

alanjds commented 9 years ago

Oi, @limamp.

Acho que o jeito mais simples é vc fazer um fork e em seguida um pull-request.

Eu não tenho como saber qual o seu conhecimento nem de GIT nem de Github, então desculpe se eu for rápido ou lento demais nas instruções, ok? ;) Dúvidas só perguntar, por aqui mesmo.

Vi pelo seu perfil no Github que você ainda não fez fork do PySPED, então é apertar aquele botão FORK em cima à direita:

screen shot 2015-03-19 at 15 09 40

O Github vai fazer um fork (cópia) do projeto pra você:

exemplo: screen shot 2015-03-19 at 15 11 12

e então vc pode baixar a cópia pro seu micro, pela HTTPS clone URL no menu à direita no seu fork:

screen shot 2015-03-19 at 15 12 02

Daí vc faz o git clone <sua-url-de-HTTPS-clone> no seu micro, abre um branch, cola seus arquivos modificados dentro, faz commit, então push e fala pra gente qual o nome do branch que vc usou.

É mais fácil do que parece. Novamente, dúvidas só perguntar. (e obrigado por querer mandar seu código pra cá)

juliomax commented 9 years ago

Bom dia! Eu uso o pysped da proge (https://github.com/proge/PySPED-NFe) e resolvi passar a usar a sua por conta da nfe 3.10 Porém, o sistema não consegue assinar... recebo o seguinte erro: raise RuntimeError('Erro ao realizar a assinatura do arquivo; status: "' + str(status) + '"') em pysped/xml_sped/certificado.py", line 429, in assina_xml

Já li bastante sobre isso, já instalei varias versões do xmlsec, inclusive uma sua... Utilizando o mesmo environment, consigo fazer tudo normal com o pysped/proge mas com esse pysped eu sempre obtenho o erro acima. Você teria alguma dica para pra me ajudar?

Desde já, obrigado.

Max

alanjds commented 9 years ago

Olha, é muito difícil ver por que um funciona e o outro não, porque esse da @proge não foi feito como fork no Github. Então não é fácil ver um diff entre esse aqui e aquele lá.

Eu sugiro vc fazer um fork nesse daqui, pegar o de lá, substituir os arquivos na pasta, e então dar um git diff pra ver se acha o que mudou.

Fica muuuito mais fácil se vc souber a base do fork (quando foi que eles copiaram e colaram daqui).

Espero ter ajudado. Qqr dúvida vai mandando aqui que a galera te ajuda

juliomax commented 9 years ago

Muito obrigado Alan!

Vou tentar fazer aqui como você sugeriu e atualizo o status aqui.

juliomax commented 9 years ago

Bom dia. Consegui resolver o problema depois de muito custo da seguinte maneira: No método assina_xml do certificado.py, logo abaixo da segunda linha eu fiz o seguinte: xml = xml.replace('', '').strip()

Fiz isso pq quando fui fazer o debug estava recebendo o seguinte erro: libxml2 library function failed:expr=xpointer(id(''))

Esse id vazio é que me fez atentar para isso, então eu o removi.

Obrigado pela ajuda e pelo excelente trabalho de todos que colaboraram com esse projeto.

alanjds commented 9 years ago

Disponha @juliomax . Apenas peço que, agora que você já conseguiu achar o problema no PySPED que está aqui, se possível mande a versão que funciona para nós.

Se achar mais fácil, você pode editar a linha com problemas por aqui dentro do Github mesmo: https://github.com/blog/143-inline-file-editing

Obrigado, Alan.

juliomax commented 9 years ago

Olá! Feito conforme sua recomendação. Muito obrigado

alanjds commented 9 years ago

Legal, @juliomax. Agora falta pouco:

Vc vai no seu branch e clica no botão verde de "fazer pull-request", na página do seu fork:

screen shot 2015-03-31 at 10 56 00

Em seguida, confirma o "pedido" para nos mandar código, clicando no "Create pull request":

screen shot 2015-03-31 at 10 56 17

E é isso aí! Assim que vc clica, nós já podemos incluir o seu código aqui dentro.

Novamente, obrigado por contribuir e pelo esforço de mandar o código.

alanjds commented 9 years ago

Pull request enviado: #32 (obrigado @limamp)

Como eu não estou ativamente usando o PySPED, alguém que esteja usando (exemplos: @aricaldeira, @marcydoty) podem por favor confirmar que o código da #32 não quebra nada, então eu aceito o código?

Obrigado, Alan.

mileo commented 9 years ago

@alanjds Estamos usando o PySPED ativamente, vc chegou a dar uma olhada nos nossos PR?

Abraços

alanjds commented 9 years ago

@mileo: Não cheguei a olhar. Na realidade não percebi que havia PRs pendentes.

@aricaldeira: Estou notando que há interesse em contribuir com base de código, interesse que não existia anteriormente talvez por falta de organização.

Entretanto receio quanto à estabilidade da API. Eu mesmo tenho um branch "refactor" (https://github.com/alanjds/PySPED/tree/refactor) aonde eu "corrigi" várias coisas que não gostei principalmente nos comportamentos e APIs. Só que eu não mergeei por receio de quebrar código de terceiros, já que não temos versões nem política de deprecation.

Aparentemente este repo aqui (https://github.com/aricaldeira/PySPED) é o mais bem sucedido dos NFe em Python, e tem evoluído ao longo do tempo.

Como eu não estou ativamente trabalhando com o PySPED neste momento, não me sinto seguro para fazer as alterações/merges/testes necessários para a evolução da ferramenta. Ainda não temos um processo definido. Ou papéis. Ou roadmap.

Posso auxiliar no uso de GIT, Github e em Python, mas não consigo neste momento validar alterações no código.

*Caso alguém possa/tenha interesse, podemos nos organizar para manter a PySPED. Por favor levante a mão*\ . Neste momento não tenho idéia de por onde começar. Sugestões?

mileo commented 9 years ago

@alanjds Vamos estudar seu refacory!

Estamos usando o PySPED do @aricaldeira em produção em vários clientes, se for definido um roadmap de melhorias, não vejo problema se quebrarmos algumas coisas para melhorar outras.

Para o que precisar temos varias mãos aqui!

Abraços

juliomax commented 9 years ago

o/ Utilizávamos o da @Proge, porém estamos migramos para essa agora. Só tivemos esse problema da assinatura e o Danfe que fica muito embaralhado pra nós. No mais estamos nos dando muito bem com tudo.

Em 31 de março de 2015 16:12, Luis Felipe Miléo notifications@github.com escreveu:

@alanjds https://github.com/alanjds Vamos estudar seu refacory!

Estamos usando o PySPED do @aricaldeira https://github.com/aricaldeira em produção em vários clientes, se for definido um roadmap de melhorias, não vejo problema se quebrarmos algumas coisas para melhorar outras.

Para o que precisar temos varias mãos aqui!

Abraços

— Reply to this email directly or view it on GitHub https://github.com/aricaldeira/PySPED/issues/30#issuecomment-88212854.