GabrielGD commited on
Commit
4cb343c
·
verified ·
1 Parent(s): 7a30a67

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -15
app.py CHANGED
@@ -539,25 +539,32 @@ Diferença Líquida: {total_adicionadas - total_removidas} linhas
539
 
540
  def salvar_progresso(caso, peticao):
541
  logger.info("Iniciando salvamento de progresso...")
 
 
 
542
  try:
543
  # Verifica se os inputs estão vazios ou None
544
  if not caso or not peticao:
545
  logger.warning("Inputs vazios detectados: caso ou peticao estão vazios.")
546
- return "", "⚠️ Caso ou petição estão vazios. Preencha ambos para salvar.", None
547
 
548
  # Cria o conteúdo JSON como string
 
549
  json_content = json.dumps({"caso": caso, "peticao": peticao}, ensure_ascii=False, indent=4)
 
550
 
551
- # Cria um arquivo em memória usando io.BytesIO
552
- buffer = io.BytesIO()
553
- buffer.write(json_content.encode('utf-8'))
554
- buffer.seek(0)
 
 
555
 
556
- logger.info("Progresso salvo com sucesso como string e arquivo em memória.")
557
- return json_content, "✅ Progresso salvo! Copie o conteúdo abaixo ou baixe o arquivo:", buffer
558
  except Exception as e:
559
- logger.error(f"Erro ao salvar progresso: {str(e)}")
560
- return "", f"❌ Erro ao salvar o progresso: {str(e)}", None
561
 
562
  def carregar_progresso(arquivo_entrada):
563
  logger.info("Iniciando carregamento de progresso...")
@@ -638,9 +645,8 @@ def interface_gradio():
638
 
639
  resultado_output = gr.Markdown(label="📊 Correção Oficial e Nota", show_copy_button=True)
640
 
641
- # Componentes para exibir o progresso salvo
642
  progresso_json_output = gr.Textbox(label="Progresso Salvo (JSON)", lines=5, interactive=False, visible=False)
643
- progresso_download_file = gr.File(label="Download do Progresso", visible=False)
644
 
645
  with gr.Row():
646
  peticao_aluno_output = gr.Textbox(label="Petição do Aluno", lines=15, interactive=False)
@@ -689,11 +695,11 @@ def interface_gradio():
689
  outputs=[processing_message]
690
  )
691
  clear_btn.click(
692
- fn=lambda: [None, None, None, None, "", "", "", "", "", gr.update(visible=False), gr.update(visible=False)],
693
  inputs=None,
694
  outputs=[caso_input, peticao_texto, peticao_arquivo, arquivo_preview, resultado_output, dica_contextual,
695
  peticao_aluno_output, peticao_corrigida_output, resumo_alteracoes_output, criticas_output,
696
- visualizacao_detalhada_output, progresso_json_output, progresso_download_file, processing_message]
697
  )
698
  comparar_btn.click(
699
  fn=comparar_peticao_melhorada,
@@ -708,7 +714,7 @@ def interface_gradio():
708
  ).then(
709
  fn=lambda caso, peticao: salvar_progresso(caso, peticao),
710
  inputs=[caso_input, peticao_texto],
711
- outputs=[progresso_json_output, resultado_output, progresso_download_file]
712
  ).then(
713
  fn=lambda: gr.update(value="", visible=False),
714
  inputs=None,
@@ -716,7 +722,7 @@ def interface_gradio():
716
  ).then(
717
  fn=lambda: gr.update(visible=True),
718
  inputs=None,
719
- outputs=[progresso_json_output, progresso_download_file]
720
  )
721
  carregar_btn.click(
722
  fn=lambda arquivo: carregar_progresso(arquivo.name),
 
539
 
540
  def salvar_progresso(caso, peticao):
541
  logger.info("Iniciando salvamento de progresso...")
542
+ logger.debug(f"Caso recebido: {caso[:100]}...") # Log do caso (primeiros 100 caracteres)
543
+ logger.debug(f"Petição recebida: {peticao[:100]}...") # Log da petição (primeiros 100 caracteres)
544
+
545
  try:
546
  # Verifica se os inputs estão vazios ou None
547
  if not caso or not peticao:
548
  logger.warning("Inputs vazios detectados: caso ou peticao estão vazios.")
549
+ return "", "⚠️ Caso ou petição estão vazios. Preencha ambos para salvar."
550
 
551
  # Cria o conteúdo JSON como string
552
+ logger.debug("Gerando JSON content...")
553
  json_content = json.dumps({"caso": caso, "peticao": peticao}, ensure_ascii=False, indent=4)
554
+ logger.debug(f"JSON content gerado: {json_content[:100]}...")
555
 
556
+ # Mensagem de sucesso com instruções para salvar manualmente
557
+ success_message = (
558
+ "✅ Progresso salvo! Copie o conteúdo abaixo e cole em um arquivo com extensão `.json` "
559
+ "(ex.: `progresso.json`). Para isso, crie um novo arquivo de texto, cole o conteúdo, "
560
+ "salve com o nome `progresso.json` e use a opção 'Carregar Progresso' para restaurar."
561
+ )
562
 
563
+ logger.info("Progresso salvo com sucesso como string.")
564
+ return json_content, success_message
565
  except Exception as e:
566
+ logger.error(f"Erro ao salvar progresso: {str(e)}", exc_info=True)
567
+ return "", f"❌ Erro ao salvar o progresso: {str(e)}"
568
 
569
  def carregar_progresso(arquivo_entrada):
570
  logger.info("Iniciando carregamento de progresso...")
 
645
 
646
  resultado_output = gr.Markdown(label="📊 Correção Oficial e Nota", show_copy_button=True)
647
 
648
+ # Componente para exibir o progresso salvo
649
  progresso_json_output = gr.Textbox(label="Progresso Salvo (JSON)", lines=5, interactive=False, visible=False)
 
650
 
651
  with gr.Row():
652
  peticao_aluno_output = gr.Textbox(label="Petição do Aluno", lines=15, interactive=False)
 
695
  outputs=[processing_message]
696
  )
697
  clear_btn.click(
698
+ fn=lambda: [None, None, None, None, "", "", "", "", "", gr.update(visible=False)],
699
  inputs=None,
700
  outputs=[caso_input, peticao_texto, peticao_arquivo, arquivo_preview, resultado_output, dica_contextual,
701
  peticao_aluno_output, peticao_corrigida_output, resumo_alteracoes_output, criticas_output,
702
+ visualizacao_detalhada_output, progresso_json_output, processing_message]
703
  )
704
  comparar_btn.click(
705
  fn=comparar_peticao_melhorada,
 
714
  ).then(
715
  fn=lambda caso, peticao: salvar_progresso(caso, peticao),
716
  inputs=[caso_input, peticao_texto],
717
+ outputs=[progresso_json_output, resultado_output]
718
  ).then(
719
  fn=lambda: gr.update(value="", visible=False),
720
  inputs=None,
 
722
  ).then(
723
  fn=lambda: gr.update(visible=True),
724
  inputs=None,
725
+ outputs=[progresso_json_output]
726
  )
727
  carregar_btn.click(
728
  fn=lambda arquivo: carregar_progresso(arquivo.name),