Closed alonsosimoes closed 1 year ago
A versão aplicativo da redecnpj tem várias alterações em relação ao que está no github. Não tive tempo para atualizar no github, justamente por não ter certeza das incompatibilidades. Uma delas é essa que vc relatou, não encontrar a tabela id_search. O parâmetro base_rede_search só funciona na versão aplicativo, não é lida na versão atual no github. O aplicativo para baixar gera os arquivos rede.db e rede_search.db. A versão aplicativo usa essa rede_search.db que não existe na versão atual no github. Para solucionar, para rodar a redecnpj na versão no github, vc deve copiar as tabelas que estão em rede_search.db para rede.db (talvez seja possível "arrastar" a tabela id_search de rede_search.db para rede.db no DBBrowser, mas não tenho certeza). Outra alternativa é criar a tabela id_search em rede.db pelo comando sql (vc abre o rede.db no DBBrowser e roda esse código):
DROP TABLE if exists id_search; CREATE virtual TABLE id_search using fts5 (id_descricao);
insert into id_search --select distinct id_descricao select iddescricao from ( select 'PJ' || te.cnpj ||'-' || t.razao_social as id_descricao from cnpj.estabelecimento te left join cnpj.empresas t on t.cnpj_basico=te.cnpj_basico where te.matrizfilial is '1' UNION select 'PJ' || te.cnpj ||'-' || te.nome_fantasia as id_descricao from cnpj.estabelecimento te -- where trim(te.nome_fantasia) <>'' UNION select id1 as iddescricao from ligacao where substr(id1,1,3)<>'PJ' UNION select id2 as iddescricao from ligacao where substr(id2,1,3)<>'PJ' ) as tunion group by id_descricao --talvez group by seja mais rápido que distinct ;
Para o sql funcionar, vc primeiro abre rede.cnpj no DBBrowser, depois vai ter que ANEXAR a tabela cnpj.db e então rodar o sql
Certo, obrigado!
Alguma previsão para essa release no git?
Atualizei no github, versão 1.0
Com o tutorial foi possível rodar perfeitamente no windows, no entanto, ao levar os arquivos gerados (cnpj.db, rede.db, rede_search.db, cnpj_links_ete.db) pelo projeto PROGRAMA RedeCNPJ-Baixar-Converter para um ambiente linux junto com o clone do repo rictom/rede-cnpj consigo realizar busca por CNPJ, mas ao buscar por sócio ou razão social gera erro de não ser possível encontrar a tabela id_search.
Os arquivos foram salvos na pasta bases na raiz do projeto.
É necessário rodar algum script complementar?
Utilizei os seguintes parâmetros de config (rede.ini):
[BASE]
base_rede é a tabela principal com os vínculos entre empresas e socios. Versão 0.9
base_rede = bases/rede.db base_rede_search = bases/rede_search.db
base_receita, sqlite com dados publicos da Receita Federal.
se o arquivo sqlite estiver na mesma pasta, coloque apenas base_receita=cnpj.db
se a base_receita não for definido, é preciso ter o arquivo base_cnpj_vazia.db na pasta do projeto para não ocorrer erro
se a base_receita não for definido, os botões do github e da Receita Federal não vão aparecer na tela.
base_receita = bases/cnpj.db
caminho da base de endereços normalizada
base_endereco_normalizado = bases/cnpj_links_ete.db
caminho da base de ligações adicional (TSE e TCE)
base_links = bases/links.db
base_local é uma base com dados adicional. estrutura do banco_dados_modelo.db. Pode armazenar informações adicionadas manualmente no gráfico, dados dos nós e de ligações
base_local = bases/rede_dados.db
referencia_bd aparece na linha superior da tela
referencia_bd = TESTE - PARA EXIBIR DADOS REAIS, É NECESSÁRIO COPIAR AS BASES
referencia_bd = CNPJ (xx/xx/xxx)
pasta para armazenar arquivos json
pasta_arquivos=arquivos porta_flask=5000
[INICIO]
cpfcnpjinicial cnpj para aparecer no início. Pode ser colocados vários cnpjs separados por ponto e vírgula. Deixe vazio se não quiser que apareça cnpj no inicio.
cpfcnpj =
níveis de ligações para o cpfcnpjinicial
camada = 1
exibir mensagem de advertencia e informações da data de referencia
exibe_mensagem_advertencia = 1
mensagem_advertencia= LEIA ANTES DE PROSSEGUIR.\n\nTodos os dados exibidos são públicos, provenientes da página de dados abertos da Secretaria da Receita Federal ou de portais públicos de transparência.\nO autor não se responsibiliza p>
mensagem_advertencia=A base sqlite de TESTE tem os nomes de sócios e de empresas embaralhados.\nPara inserir um novo elemento aleatório pressione OK sem digitar texto.
abrir menu inserir na abertura da tela
exibe_menu_inserir = 1
[ETC]
para evitar excesso de ligações, se ligacaoSocioFilial=0 não inclue ligações para filiais de empresas
ligacao_socio_filial = 0
se logAtivo=1, registra as consultas nas tabelas log_cpnj e log_cpfnome no arquivo sqlite.
logativo = 0
permite download da pasta arquivos que não sejam json. Por segurança, desativar no servidor.
arquivos_download = 0
parametros para o flask-limiter
limiter_padrao =2/second;20/minute;200/hour;400/day limiter_dados =10/second;600/minute limiter_arquivos =2/minute;30/hour;100/day
permite busca do google
busca_google = 1
baixa arquivos e consulta palavras chaves
busca_chaves = 0
quantidade máxima de itens para geocode
geocode_max = 10
para de acrescentar niveis se ultrapassar o tempo abaixo em segundos
tempo_maximo_consulta=2
para de acrescentar niveis se ultrapassar a quantidade de itens abaixo
limite_registros_camada=1000
[API] api_cnpj=1 api_caminhos=1 api_keys=
.
Log do app:
Carregando rede_sqlite_cnpj Utilizando rede_sqlite_cnpj como rede_relacionamentos. /home/deploy/.local/lib/python3.10/site-packages/flask_limiter/extension.py:293: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use. See: http s://flask-limiter.readthedocs.io#configuring-a-storage-backend for documentation about configuring the storage backend. warnings.warn(
Parabéns pelo projeto.