in IAC/temp/function-source/src/dbconector.py [0:0]
def salvar_correcao(self, id_requisicao, resultado, validacao,
nota_enem, notas_competencias,
datetime_inicio_correcao,
plagio=None):
print(f"{id} Salvando")
#try:
session = self.create_session()
# Inicializa a data de término com o timezone
finished_at = datetime.now(pytz.timezone("America/Sao_Paulo"))
# Lista de competências para processar dinamicamente
competencias = ['competencia_2', 'competencia_3', 'competencia_4', 'competencia_5']
competencia_dados = {}
# Extrai e prepara os dados de cada competência
for comp in competencias:
competencia = resultado.get(comp, {})
competencia_dados[f"{comp}_nota"] = str(competencia.get('notas', ""))
competencia_dados[f"{comp}_justificativa"] = json.dumps(competencia.get('descricoes', ""))
# Criação do objeto de correção com dados dinâmicos
nova_correcao = CorrecaoModel(
id_requisicao=id_requisicao,
started_at=datetime_inicio_correcao,
finished_at=finished_at,
# Atribui as notas e justificativas de forma dinâmica
competencia_2_nota=int(notas_competencias[0]),
competencia_2_justificativa=competencia_dados.get('competencia_2_justificativa'),
competencia_3_nota=int(notas_competencias[1]),
competencia_3_justificativa=competencia_dados.get('competencia_3_justificativa'),
competencia_4_nota=int(notas_competencias[2]),
competencia_4_justificativa=competencia_dados.get('competencia_4_justificativa'),
competencia_5_nota=int(notas_competencias[3]),
competencia_5_justificativa=competencia_dados.get('competencia_5_justificativa'),
# Justificativa final
justificativa_final_nota=nota_enem,
justificativa_final_justificativa=resultado.get('sumarizacao'),
status="DONE",
Plagio=plagio,
Validacao=validacao
)
session.add(nova_correcao)
session.commit()
print(f"Correção para UUID {id} salva com sucesso.")
query = select(CorrecaoModel).where(CorrecaoModel.id_requisicao == id_requisicao)
result = session.execute(query).scalars().first()
if result:
print("Resultado", result)
'''
except Exception as e:
logging.error(f"Erro ao salvar correção: {e}")
finally:
session.close()'''