Beispiel #1
0
def busca_turmas_disciplina(codigo):
    # busca e retorna lista contendo turmas vinculadas à disciplina identificada por 'codigo'
    turmas = []
    turmas_copia = f.copiar_lista(lista_turmas)
    for turma in turmas_copia:
        if turma[3] == codigo:
            turmas.append(turma.copy())
    return turmas
Beispiel #2
0
def _acha_turma(id_turma):
    # busca turma por id da turma e retorna tupla com dados da turma
    # ou None se turma não encontrada
    turma_copia = f.copiar_lista(lista_turmas)
    for turma in turma_copia:
        if turma[0] == id_turma:
            return turma.copy()
    return None
Beispiel #3
0
def busca_aluno_turmas(cpf):
    # busca e retorna as turmas em que o aluno identificado por cpf está matriculado
    turmas_do_aluno = []
    turmas_copia = f.copiar_lista(lista_turmas)
    for turma in turmas_copia:      # varre as turmas em busca do aluno
        if _checa_aluno(cpf, turma[0]):     # vê se aluno está matriculado na turma
            turma.append(acha_disciplina(turma[3])[1])      # acrescenta nome da disciplina ao cadastro da turma
            turmas_do_aluno.append(turma.copy())    # acumula cadastro da turma na lista de retorno
    return turmas_do_aluno
Beispiel #4
0
def _acha_professores(id_turma):
    # retorna lista contendo os cadastros dos professores pertencentes á turma identificada por id_turma
    professores = []
    profs_copia = f.copiar_lista(lista_profs)
    for entrada in profs_copia:
        if entrada[0] == id_turma:
            # usa função definida no módulo 'professores' para fazer busca do cadastro do professor
            prof = acha_professor(entrada[1])
            if prof is not None:
                professores.append(prof.copy())     # acumula cadastro encontrado na lista de retorno
    return professores
Beispiel #5
0
def acha_turmas_professor(cpf):
    # busca e retorna turmas às quais o professor identificado por cpf está vinculado, baseando-se
    # na lista associativa entre professores e turmas (lista 'turmas_professor')
    turmas_professor = []
    profs_copia = f.copiar_lista(lista_profs)
    for entrada in profs_copia:
        if entrada[1] == cpf:       # bingo! achou turma associada ao professor
            turma = _acha_turma(entrada[0])     # usa função local para ler cadastro da turma
            # busca cadastro da disciplina correspondente à turma usando função importada do módulo 'disciplinas'
            turma.append(acha_disciplina(turma[3])[1])  # acrescenta nome por extenso da disciplina ao cadastro lido
            turmas_professor.append(turma.copy())   # acumula turma na lista de retorno
    return turmas_professor
Beispiel #6
0
def _imprimir_turmas():
    # copia a lista de turmas
    lista = f.copiar_lista(lista_turmas)

    # prepara a cópia da lista de turmas para impressão
    for turma in lista:
        # inclui nome da disciplina na cópia
        # a posição 3 contém o código da disciplina na lista das turmas;
        # a posição 1 da lista retornada pela busca contém o nome da disciplina
        turma.append(acha_disciplina(turma[3])[1])
        # inclui o(s) nome(s) do(s) professor(es) na listagem
        # lista os nomes dos professores (conteúdos na posição 1) dos resultados da busca pelos professores
        # e une-os com vírgula
        professores = ', '.join([x[1] for x in _acha_professores(turma[0])])
        turma.append(professores)
    #  elimina campo da id da turma antes de imprimir
    lista = [x[1:] for x in lista]
    # ordena lista por período da turma
    lista.sort(key=lambda turma: turma[1])
    f.imprimir_tabela(cabeçalho_turmas, lista)
Beispiel #7
0
def exportar_tabela():
    # função usada pelo módulo 'turmas' para composição de nova turma
    f.imprimir_tabela(cabeçalho, lista)     # printa lista atualizada de disciplinas
    return f.copiar_lista(lista)            # chama função auxiliar em 'ferramentas' para retornar cópia da lista
Beispiel #8
0
def exportar_tabela():
    f.imprimir_tabela(cabeçalho, lista)
    return f.copiar_lista(lista)
Beispiel #9
0
def _exportar_alunos():
    # exporta cópia de lista de referência entre alunos e turmas usando função de cópia definida no módulo 'ferramentas'
    # (função importada pelo módulo 'relatorios' para a emissão de reportes)
    return f.copiar_lista(lista_alunos)