Skip to content

Commit

Permalink
Criando índices para as buscas na base de dados SQLite3 otimizando o …
Browse files Browse the repository at this point in the history
…tempo de consulta.
  • Loading branch information
victor-torres committed Feb 10, 2016
1 parent 5c8d581 commit bf35cec
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
16 changes: 13 additions & 3 deletions open_cnl/open_cnl_importer.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
import io
import os
import sqlite3
import sys
import urllib2
Expand Down Expand Up @@ -74,6 +75,12 @@ def criar_banco_de_dados(self):
);
""")

c.execute("""
CREATE INDEX `ix_localidade` ON `open_cnl` (
prefixo, numero_da_faixa_inicial, numero_da_faixa_inicial
);
""")

def gravar_linha_no_banco(self, linha_processada):
"""
Grava uma linha processada no banco de dados SQLite3.
Expand Down Expand Up @@ -193,12 +200,12 @@ class ErroAoInserirDadosNoBanco(Exception):
pass


if __name__ == "__main__":
if not len(sys.argv) == 2:
def main(argv):
if not len(argv) == 2:
print('Utilização: open_cnl_importer <destino.sqlite3>')
return

arquivo_de_destino = sys.argv[1]
arquivo_de_destino = argv[1]
if os.path.exists(arquivo_de_destino):
print('Arquivo de destino já existe: %s' % arquivo_de_destino)
return
Expand All @@ -216,3 +223,6 @@ class ErroAoInserirDadosNoBanco(Exception):
print('Erro ao processar a base da ANATEL')
except ErroAoInserirDadosNoBanco:
print('Erro ao inserir dados no banco')

if __name__ == "__main__":
main(sys.argv)
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
setup(
name = 'open_cnl',
packages = ['open_cnl'],
version = '0.4',
version = '0.5',
description = 'Biblioteca para ler e consultar banco de dados CNL (Código Nacional de Localidade) seguindo especificações da ANATEL (Agência Nacional de Telecomunicações).',
author = 'Victor Torres',
author_email = 'vpaivatorres@gmail.com',
url = 'https://github.com/evoluxbr/open-cnl',
download_url = 'https://github.com/evoluxbr/open-cnl/tarball/0.4',
download_url = 'https://github.com/evoluxbr/open-cnl/tarball/0.5',
keywords = ['anatel', 'cnl', 'base'],
classifiers = [],
)

0 comments on commit bf35cec

Please sign in to comment.