from csv_writer import CsvWriter from sigi.apps.servicos.models import Servico ARQUIVO_CSV = "/tmp/casas_que_usam_PM_e_SAPL.csv" def escrever_casas(casas, arquivo): with open(arquivo, "wb") as f: writer = CsvWriter(f) writer.writerow( [ "casa: sigla UF", "casa: nome UF", "casa: NOME", ] ) for casa in casas: writer.writerow( [ casa.municipio.uf.sigla, casa.municipio.uf, casa.nome, ] ) casas_pm = { s.casa_legislativa for s in Servico.objects.filter( tipo_servico__sigla="PM", data_desativacao__isnull=True ) } casas_sapl = { s.casa_legislativa for s in Servico.objects.filter( tipo_servico__sigla="SAPL", data_desativacao__isnull=True ) } casas_ativas = casas_pm & casas_sapl escrever_casas(casas_ativas, "/tmp/casas_que_usam_PM_e_SAPL__AMBOS_ATIVOS.csv") casas_pm = { s.casa_legislativa for s in Servico.objects.filter(tipo_servico__sigla="PM") } casas_sapl = { s.casa_legislativa for s in Servico.objects.filter(tipo_servico__sigla="SAPL") } casas_todas = casas_pm & casas_sapl escrever_casas(casas_todas, "/tmp/casas_que_usam_PM_e_SAPL__TODOS.csv") casas = casas_pm.union(casas_sapl) escrever_casas(casas, "/tmp/casas_que_usam_PM_ou_SAPL.csv") casas_algum_inativo = casas_todas