Skip to content
This repository has been archived by the owner on Jan 25, 2021. It is now read-only.

[REF] Ginfes Namespaces #7

Open
wants to merge 6 commits into
base: master_gen
Choose a base branch
from

Conversation

luismalta
Copy link

@luismalta luismalta commented Oct 14, 2020

Roadmap:

  • Refactor Ginfes namespaces
  • Create Ginfes Test

@mileo
Copy link
Member

mileo commented Oct 15, 2020

@luismalta aqui só tem código gerado automaticamente ou tem código manual?

@luismalta
Copy link
Author

@mileo os commits referentes aos Namespaces são códigos manuais.

@mileo
Copy link
Member

mileo commented Oct 15, 2020

@mileo os commits referentes aos Namespaces são códigos manuais.

Precisamos ver se conseguis resolver isso de outra forma, tem bastante coisa na documentação sobre isso:

https://www.davekuhlman.org/generateDS.html mas sinceramente eu não vou ter tempo de ler nos próximos dias.

Se conseguir dar uma olhada.

@rvalyi se vc tiver alguma sugestão.

@luismalta
Copy link
Author

Eu dei uma lida na documentação e fiz alguns testes usando o genereteDS diretamente e usando o erpbrasil.edoc.gen. Em nenhum dos casos consegui achar uma opção que gerasse as definições dos namespaces e os prefixos dos namespaces automaticamente (Obs: Eu vi que tem como não usar a opção --no-namespace-defs, mas dessa forma não pareceu pegar os namespaces corretamente).

Pelo que entendi a ideia do arquivo "generatedsnamespaces.py" é que seja feito manualmente mesmo, como forma de customização (https://www.davekuhlman.org/generateDS.html#adding-custom-exported-attributes-and-namespace-prefix-definitions).

A princípio, pensei em ter alguma lógica no erpbrasil.edoc.gen para montar o arquivo "generatedsnamespaces.py", mas também seria necessário alterar as classes geradas para pegar os valores definidos nos dicts desse arquivo, como foi feito nesse PR (Ex: https://github.com/erpbrasil/nfselib/pull/7/files#diff-9a777888d275ea14975589327934317a00d072e33fc702fa8c3ec230c2d4c17fR3935). Logo, também não seria viável.

Vocês teriam alguma sugestão que eu não enxerguei ou observações sobre alguma coias que eu possa ter entendido errado?

@rvalyi
Copy link
Member

rvalyi commented Oct 15, 2020

A forma eu acho que seria de fazer um sub-class igual eu fiz para a NFe aqui, alias vc pode ver que tou mexendo no namespace do export: https://github.com/akretion/nfelib/blob/master_gen_v4_00/src/nfe/leiauteNFe_sub.py#L58
Ver tb https://www.davekuhlman.org/generateDS.html#using-the-subclass-module

Agora novamente vou repetir minha posiçao: eu nao achava legal a nfselib da forma como tava ha 2 semanas gerida com um fork do generateDS de 2 anos atras, alterado sei la como, puxando o erpbrasil.edoc que pela vez dele puxava um nfelib ajeitado de forma porca tb e que ia ser um tiro no pe para fazer os merges da NFe enquanto a ideia toda da arquitetura que a gente bolou na OCA eh deixar as coisas modular: onde cada um sabe onde esta pisando sem assumir divida tecnologica pela qual nao quer topar.

Bem isso era a situaçao ha 2 semanas como vcs pressionando para fazer o merge do GINFES nessas condiçoes. Ai reclamei. Porem hoje a situaçao ja esta bem melhor do lado da nfselib. Novamente a Akretion nem tem cliente que vai usar, a gente ta super ok se nao ta super limpo. Eu acho que o minimo eh deixar as coisas explicitas e tb deixar facil para pessoas contribuir como o issnet ou nota paulistana sem que cada nfse seja completamente diferente uma da outra sem qualquer nexo.

Entao pode ser que da para fazer uma coisa mais perfeitinha, mas da minha parte e eu acho da Akretion na OCA, tamos bem ok com isso ja na questao da nfselib (agora falta arrumar testes minimalmente no erpbrasil.edoc). A gente nao eh extremista nao, a unica coisa eh que a ideia toda do generateDS era ter uma coisa mais razoavel do que um pysped tudo manual, mas ha 2 semanas atras tava bem borderline essa questao aqui...

@mileo
Copy link
Member

mileo commented Nov 8, 2020

@marcelsavegnago referente ao seu comentário no erpbrasil/erpbrasil.edoc#16

Precisamos resolver este PR antes....

Tem alguns detalhes que estou verificando e uns erros que eu corrigi no #10 e #11, mas não sei se vou conseguir fazer o merge dele hoje. Vou precisar do @luismalta para entender um detalhe ai creio q só amanhã.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants