aphonsoar / Receita_Federal_do_Brasil_-_Dados_Publicos_CNPJ

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

Implementação de melhorias de performance #7

Closed jeff-pal closed 2 years ago

jeff-pal commented 2 years ago

📋 Tasks Summary

  1. Criar lista de padrões de codificação
  2. Criar configurações básicas de cores para prints
  3. Criar abstração de banco de dados
  4. Criar abstração de arquivos
  5. Resumir execução de ações em script principal
  6. Criar abstração para ações comuns/genéricas
  7. Criar abstração de variáveis/dados estáticos
  8. Implementar leitura de arquivo CSV em partes
  9. Implementar barra de progresso animada

1. Criar lista de padrões de codificação

Foi criada uma lista de codecs (code/codec.py) por alias e nome, para ser utilizado na identificação de codificação de arquivos. O comando file -bi nome_do_arquivo retorna text/plain; charset=us-ascii, onde charset representa o alias na tabela referência de codificação do Python, no entanto, na propriedade encoding de funções como pd.read_csv( ) espera-se o valor equivalente ao nome do codec, conforme apresentado na tabela em questão.

2. Criar configurações básicas de cores para prints

Foram criadas funções básicas (code/color.py) para print em cores.

3. Criar abstração de banco de dados para execução de inserções de dados

Foi criada uma abstração para realizar a criação de conexão de banco de dados, operações de inserção de dados, a partir da leitura dos arquivos especificados.

4. Criar abstração de arquivos

Foi criada uma abstração para operações de arquivos, como listagem, classificação, extração e download.

5. Resumir execução de ações (blocos lógicos) em um script principal

Foi criado um arquivo principal (code/main.py) somente com as chamadas de funções para execução de ações (blocos lógicos).

6. Criar abstração para ações comuns/genéricas

Foi criada uma abstração (code/utils.py) com funções comuns/genéricas.

7. Criar abstração de variáveis/dados estáticos

Foi criada uma abstração (code/var.py) contendo variáveis de ambientes e outras.

8. Implementar leitura de arquivo CSV em partes

Foi implementada a fragmentação de leitura de arquivos CSV para aprimorar a performance de execução do software, a fim de evitar a interrupção do processo.

9. Implementar barra de progresso animada

Foi implementada uma barra de progresso animada: image