def gradeConsulta(self, event): ano = self.limiteConsulta.escolhaAno.get() curso = self.limiteConsulta.escolhaCurso.get() try: if len(ano) == 0 or len(curso) == 0: raise CamposNaoPreenchidos() except CamposNaoPreenchidos: self.limiteConsulta.mostraMessagebox('ATENÇÃO', 'Todos os campos devem ser preenchidos', True) else: grade = ManipulaBanco.consultaGrade(ano, curso) try: if grade == False: raise ConexaoBD() if grade == None: raise GradeNaoCadastrada() except ConexaoBD: self.limiteConsulta.mostraMessagebox('ERROR', 'Falha de conexão com o Banco de Dados', True) except GradeNaoCadastrada: self.limiteConsulta.mostraMessagebox('ALERTA', 'Grade não cadastrada', True) else: string = f'Grade: {grade.ano}\n' string += f'Curso: {grade.curso_id}\n' string += '\nDisciplinas da grade: ' for disc in grade.disciplinas: string += f'\n{disc.codigo} -- {disc.nome} -- {disc.carga_horaria}hr' LimiteMostraGrades('CONSULTA GRADE', string, False) finally: self.limiteConsulta.clearConsulta(event)
def buscaGrade(self): anoCurso = self.limite.inputGrade.get() if len(self.limite.tabelaDisc.get_children()) == 1 and len( anoCurso) == 0: self.reloadTabela() else: try: if len(anoCurso) == 0: raise PreencherCampoId() except PreencherCampoId: self.limite.mostraMessagebox( 'ALERTA', 'Necessário preencher o campo grade para busca', True) else: grade = ManipulaBanco.consultaGrade(anoCurso) try: if grade == False: raise ConexaoBD() if grade == None: raise GradeNaoCadastrado() except ConexaoBD: self.limite.mostraMessagebox( 'ERROR', 'Falha de conexão com o Banco de Dados', True) except GradeNaoCadastrado: self.limite.mostraMessagebox( 'ERROR', f'Grade {anoCurso} não cadastrada', True) else: self.reloadOneElement(grade) finally: self.limite.limpaGrade()