예제 #1
0
def migrar_propriedades_da_casa(repo):
    print('#### Migrando propriedades da casa ####')
    caminho = join(repo.working_dir, 'sapl_documentos/propriedades.yaml')
    repo.git.execute('git annex get'.split() + [caminho])
    with open(caminho, 'r') as arquivo:
        propriedades = yaml.safe_load(arquivo)
    casa = CasaLegislativa.objects.first()
    if not casa:
        casa = CasaLegislativa()
    campos_para_propriedades = [('codigo', 'cod_casa'),
                                ('nome', 'nom_casa'),
                                ('sigla', 'sgl_casa'),
                                ('endereco', 'end_casa'),
                                ('cep', 'num_cep'),
                                ('telefone', 'num_tel'),
                                ('fax', 'num_fax'),
                                ('endereco_web', 'end_web_casa'),
                                ('email', 'end_email_casa'),
                                ('sigla', 'sgl_casa'),
                                ('informacao_geral', 'txt_informacao_geral')]
    for campo, prop in campos_para_propriedades:
        setattr(casa, campo, propriedades[prop])

    # localidade
    sql_localidade = '''
        select nom_localidade, sgl_uf from localidade
        where cod_localidade = {}'''.format(propriedades['cod_localidade'])
    [(casa.municipio, casa.uf)] = exec_legado(sql_localidade)

    # logotipo
    migrar_logotipo(repo, casa, propriedades)

    casa.save()
    repo.git.rm(caminho)
예제 #2
0
def migrar_propriedades_da_casa():
    print('#### Migrando propriedades da casa ####')
    caminho = em_media('sapl_documentos/propriedades.yaml')
    with open(caminho, 'r') as arquivo:
        propriedades = yaml.safe_load(arquivo)
    casa = CasaLegislativa.objects.first()
    if not casa:
        casa = CasaLegislativa()
    campos_para_propriedades = [('codigo', 'cod_casa'), ('nome', 'nom_casa'),
                                ('sigla', 'sgl_casa'),
                                ('endereco', 'end_casa'), ('cep', 'num_cep'),
                                ('telefone', 'num_tel'), ('fax', 'num_fax'),
                                ('endereco_web', 'end_web_casa'),
                                ('email', 'end_email_casa'),
                                ('sigla', 'sgl_casa'),
                                ('informacao_geral', 'txt_informacao_geral')]
    for campo, prop in campos_para_propriedades:
        setattr(casa, campo, propriedades[prop])

    # Localidade
    sql_localidade = '''
        select nom_localidade, sgl_uf from localidade
        where cod_localidade = {}'''.format(propriedades['cod_localidade'])
    [(casa.municipio, casa.uf)] = exec_legado(sql_localidade)

    print('.... Migrando logotipo da casa ....')
    [(_, origem, destino, __)] = DOCS[CasaLegislativa]
    # a extensão do logo pode ter sido ajustada pelo tipo real do arquivo
    id_logo = os.path.splitext(propriedades['id_logo'])[0]
    [origem] = glob(em_media(origem.format(id_logo)))
    destino = os.path.join(destino, os.path.basename(origem))
    mover_documento(origem, destino)
    casa.logotipo = destino
    casa.save()
    os.remove(caminho)
예제 #3
0
def fill_dados_basicos():
    # Ajusta sequencia numérica e cria base.AppConfig
    letra = 'A'
    try:
        tipo = TipoNumeracaoProtocolo.objects.latest('dat_inicial_protocolo')
        if 'POR ANO' in tipo.des_numeracao_protocolo:
            letra = 'A'
        elif 'POR LEGISLATURA' in tipo.des_numeracao_protocolo:
            letra = 'L'
        elif 'CONSECUTIVO' in tipo.des_numeracao_protocolo:
            letra = 'U'
    except Exception as e:
        pass
    appconf = AppConf(sequencia_numeracao=letra)
    appconf.save()

    # Cria instância de CasaLegislativa
    casa = CasaLegislativa()
    casa.save()
예제 #4
0
def casa_legislativa():
    global casa
    if not casa:
        casa = CasaLegislativa.objects.first()
    return casa if casa else CasaLegislativa()  # retorna objeto dummy