示例#1
0
def instituicao():
    with open('/maladireta/database/instituicoes.csv') as csv_file:
        csv_reader = csv.reader(csv_file, delimiter=',')
        line_count = 0
        for row in csv_reader:
            if line_count == 0:
                print(f'Column names are {", ".join(row)}')
                line_count += 1
            else:
                telefone = None
                if row[2]:
                    telefone = ''.join((filter(
                        lambda x: x in [
                            '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
                            '0', '(', ')', '-', '/'
                        ], row[2])))
                institution = Institution()
                institution.name = row[1]
                query = Institution.objects.search(institution.name)
                if not query:
                    institution.phone_number = telefone
                    institution.street = row[3]
                    institution.city = row[4]
                    institution.number = row[5]
                    institution.neighborhood = row[7]
                    institution.cep = row[8]
                    institution.state = row[9]
                    institution.note = row[11]
                    institution.save()
                    #print(f'\tNome: {row[1]}\nTelefones {telefone}\nEndereço: {row[3]}\nCidade: {row[4]}\nNumero: {row[5]}\nComplemento: {row[6]}\nBairro: {row[7]}\nCEP: {row[8]}\nUF: {row[9]}\nOBS: {row[11]}')
                    line_count += 1
    print(f'{line_count} instituições adicionadas.')
示例#2
0
def autoridade():
    with open('/maladireta/database/autoridades.csv') as csv_file:
        csv_reader = csv.reader(csv_file, delimiter=',')
        line_count = 0
        position_count = 0
        institution_count = 0
        authoritie_count = 0
        for row in csv_reader:
            if line_count == 0:
                print(f'Column names are {", ".join(row)}')
                line_count += 1
            else:
                if row[3]:
                    ### Position
                    if not row[4]:
                        row[4], row[5] = "Vossa Senhoria", "V. S.ª"

                    position = Position()
                    position.position, position.handling, position.abbreviation = row[
                        3], row[4], row[5]
                    position_query = Position.objects.search(position.position)
                    if not position_query:
                        position.save()
                        position_count += 1

                    ## Institution
                    if row[6]:
                        telefone = None
                        if row[7]:
                            telefone = ''.join((filter(
                                lambda x: x in [
                                    '0', '1', '2', '3', '4', '5', '6', '7',
                                    '8', '9', '0', '(', ')', '-', '/'
                                ], row[7])))

                        institution = Institution()
                        institution.name = row[6]
                        institution.phone_number = telefone
                        institution.city = row[8]
                        institution.street = row[9]
                        institution.number = row[10]
                        institution.complement = row[11]
                        institution.neighborhood = row[12]
                        institution.cep = row[13]
                        institution.state = row[14]
                        institution.note = row[15]
                        institution_query = Institution.objects.search(
                            institution.name)
                        if not institution_query:
                            institution.save()
                            institution_count += 1

                    ### Authoritie
                    if row[16]:
                        authoritie = Authoritie()
                        authoritie.name = row[16]
                        if row[19]:
                            authoritie.birth = to_datetime_inverted(
                                row[19].split(' ')[0])
                        authoritie.position = Position.objects.search(
                            position.position)[0]
                        authoritie.institution = Institution.objects.search(
                            institution.name)[0]
                        authoritie_query = Authoritie.objects.search(
                            authoritie.name)
                        if not authoritie_query:
                            authoritie.save()
                            authoritie_count += 1

    return authoritie_count, institution_count, position_count