예제 #1
0
def pesquisa_nome(pesq_nome, Professores):
    # Irei buscar todas as matriculas dos professores que contem 'nos quais seus nomes contem 'pesq_nome'

    # Essa lista vai conter todas as matriculas que se encaixam da condição anterior
    lista_professores = []

    # Formato o nome digitado, ou seja, tiro os acentos e coloco todos os caracteres minusculos
    pesq_nome_formatado = geral.formata_nome(pesq_nome)

    # Passo por todas as matriculas dos professores
    for nome_prof in Professores.nomes.keys():

        # Checo se pesq_nome_formatado está contido em nome_prof
        if pesq_nome_formatado in nome_prof:

            # Se sim, adiciono todos os professores que tem esse nome na lista de professores
            lista_professores += Professores.nomes[nome_prof]

    # Se algum professor satisfaz a busca
    if lista_professores:

        # Retorno a lista de professores
        return lista_professores

    # Caso contrário, retorno um erro de chave
    raise KeyError
예제 #2
0
def pesquisa_nome(pesq_nome, Disciplinas):
    # Irei buscar todas os códigos das disciplinas que contem nos quais seus nomes contem 'pesq_nome'

    # Essa lista vai conter todos os códigos que se encaixam da condição anterior
    lista_disciplinas = []

    # Formato o nome digitado, ou seja, tiro os acentos e coloco todos os caracteres minusculos
    pesq_nome_formatado = geral.formata_nome(pesq_nome)

    # Passo por todos os códigos das disciplinas
    for nome_disciplina in Disciplinas.nomes.keys():

        # Checo se pesq_nome_formatado está contido em nome_disciplina
        if pesq_nome_formatado in nome_disciplina:

            # Se sim, adiciono todos as disciplinas que tem esse nome na lista de disciplinas
            lista_disciplinas += Disciplinas.nomes[nome_disciplina]

    # Se alguma disciplina satisfaz a busca
    if lista_disciplinas:

        # Retorno a lista de disciplinas
        return lista_disciplinas

    # Caso contrário, retorno um erro de chave
    raise KeyError
예제 #3
0
def recebe_local(dias_horarios, Disciplinas):
    while True:
        try:
            # Leio o nome do local
            print('\nDigite o local da disciplina:')
            local = input('> ')

            # Checo se o nome digitado é um nome válido
            if valida_local(local):

                # Se o local ja tiver cadastrado, checaremos sua disponibilidade
                local_formatado = geral.formata_nome(local)

                if local_formatado in Disciplinas.locais.keys():
                    lista_disciplinas = Disciplinas.locais[local_formatado]

                    # Se o local não tiver disponibilidade
                    if not checar_disponibilidade(lista_disciplinas,
                                                  dias_horarios, Disciplinas):
                        print(
                            'Os horários em que o local está sendo utilizado chocam com o da disciplina.'
                        )
                        # Rodamos tudo de novo
                        continue

                # Se chegarmos até aqui, significa que é um lugar novo ou que o local possui disponibilidade,
                # portanto, retornamos local
                return local
        except ValueError:
            print('O nome do local só deve conter letras e/ou números.')
            print('Você digitou:', local)
예제 #4
0
    def deletar_local(self, codigo_disciplina, local):
        # Deleto o local da disciplina a lista de locais
        local = geral.formata_nome(local)

        self.locais[local].remove(codigo_disciplina)

        if not self.locais[local]:
            self.locais.pop(local)
예제 #5
0
    def adicionar_local(self, codigo_disciplina, local):
        # Adiciono o local da disciplina a lista de locais
        local = geral.formata_nome(local)

        if not local in self.locais.keys():
            self.locais[local] = []

        self.locais[local].append(codigo_disciplina)
예제 #6
0
    def deletar_nome(self, matricula_aluno, nome_aluno):
        # Deleto o nome do aluno da lista de nomes
        nome_aluno = geral.formata_nome(nome_aluno)

        self.nomes[nome_aluno].remove(matricula_aluno)

        if not self.nomes[nome_aluno]:
            self.nomes.pop(nome_aluno)
예제 #7
0
    def adicionar_nome(self, matricula_aluno, nome_aluno):
        # Adiciono o nome do aluno a lista de nomes
        nome_aluno = geral.formata_nome(nome_aluno)

        if not nome_aluno in self.nomes:
            self.nomes[nome_aluno] = []

        self.nomes[nome_aluno].append(matricula_aluno)
예제 #8
0
    def deletar_nome(self, matricula_prof, nome_prof):
        # Deleto o nome do professor da lista de nomes
        nome_prof = geral.formata_nome(nome_prof)

        self.nomes[nome_prof].remove(matricula_prof)

        if not self.nomes[nome_prof]:
            self.nomes.pop(nome_prof)
예제 #9
0
    def adicionar_nome(self, matricula_prof, nome_prof):
        # Adiciono o nome do professor a lista de nomes
        nome_prof = geral.formata_nome(nome_prof)

        if not nome_prof in self.nomes:
            self.nomes[nome_prof] = []

        self.nomes[nome_prof].append(matricula_prof)
예제 #10
0
    def deletar_nome(self, codigo_disciplina, nome_disciplina):

        # Deleto o nome da disciplina a lista de nomes
        nome_disciplina = geral.formata_nome(nome_disciplina)

        self.nomes[nome_disciplina].remove(codigo_disciplina)

        if not self.nomes[nome_disciplina]:
            self.nomes.pop(nome_disciplina)
예제 #11
0
    def adicionar_nome(self, codigo_disciplina, nome_disciplina):

        # Adiciono o nome da disciplina a lista de nomes
        nome_disciplina = geral.formata_nome(nome_disciplina)

        if not nome_disciplina in self.nomes:
            self.nomes[nome_disciplina] = []

        self.nomes[nome_disciplina].append(codigo_disciplina)