aphonsoar / Receita_Federal_do_Brasil_-_Dados_Publicos_CNPJ

Dados Públicos de CNPJ disponibilizados pela Receita Federal do Brasil
MIT License
281 stars 128 forks source link

Idéia - Verificar a atualidade dos arquivos com mais/menos um dia para evitar um novo e demorado download #39

Open Attilioz1 opened 1 year ago

Attilioz1 commented 1 year ago

Olá Aphonsoar, Estou executando o seu programa, que é muito bom por sinal, parabéns. E me ocorreu que poderíamos criar um mecanismo para verificar se existem já arquivos .zip baixados localmente e se estes estão atualizados com base nas datas e tamanhos dos mesmos no servidor ftp da Receita. Assim seria possível, depois de cair a sessão durante o download e de aproveitar os arquivos anteriormente baixados e que estão atualizados. Abs.

italojohnny commented 1 year ago

Gostei da ideia. Escrevi uma funcao para fazer isso.

A parte de comparar os tamanhos dos arquivos e se diferentes, deduzir que o arquivo teve modificacao e baixa-lo novamente, esta funcionando, entretanto, a parte de comparar as datas de criacao/edicao nao funcionou tao bem...

Por exemplo, testando hoje, 2023-05-04, o arquivo Cnaes.zip informa que foi criado 2023-04-11, ja o que eu baixei no meu disco, usando datetime.fromtimestamp(os.path.getmtime(file_name)) tem a data do meu ultimo download, no caso hoje. Entao eles sempre serao diferentes.

Pensei e tentar pegar a data de criacao do arquivo que esta dentro do zip, mas ele foi criado 2023-04-08, que tambem eh diferente de 2023-04-11, data de criacao do arquivo no servidor.

Entao por hora eu nao sei como verificar a data de criacao/edicao.

Acho que por enquanto apenas testar o tamanho ja ajuda um pouco nao ter retrabalho de baixar os arquivos. Vou preparar um pull request com essa funcao. Mas aceito ajuda

renemelo commented 4 months ago

Olá @italojohnny , tudo bem? Também estive avaliando essa opção, e penso que poderíamos ter outra abordagem. Eu não sou dev python, mas tenho alguém em meu time que pode contribuir.

Se tivéssemos uma database/tabela no banco com nome do arquivo e data extraídos do https://dadosabertos.rfb.gov.br/CNPJ/, e este sendo usado para validar se o arquivo deve ser baixado.

O que acha?