Update app.py
Browse files
app.py
CHANGED
|
@@ -17,6 +17,7 @@ from ratelimiter import RateLimiter
|
|
| 17 |
import difflib
|
| 18 |
from html import escape
|
| 19 |
import random
|
|
|
|
| 20 |
|
| 21 |
load_dotenv()
|
| 22 |
|
|
@@ -305,7 +306,6 @@ def corrigir_peticao(caso, peticao_texto=None, peticao_arquivo=None, modo_treina
|
|
| 305 |
if not caso.strip():
|
| 306 |
return "⚠️ Forneça o caso da banca."
|
| 307 |
|
| 308 |
-
# Verifica se há tentativa de pedir para a IA escrever a petição
|
| 309 |
troll_triggers = [
|
| 310 |
"escreva a petição", "faça a petição", "redija a petição",
|
| 311 |
"elabore a petição", "crie a petição", "gere a petição",
|
|
@@ -321,11 +321,9 @@ def corrigir_peticao(caso, peticao_texto=None, peticao_arquivo=None, modo_treina
|
|
| 321 |
else:
|
| 322 |
peticao_conteudo = peticao_texto or ""
|
| 323 |
|
| 324 |
-
# Verifica se o conteúdo contém um trigger de trollagem
|
| 325 |
if peticao_conteudo.strip():
|
| 326 |
for trigger in troll_triggers:
|
| 327 |
if trigger in peticao_conteudo.lower():
|
| 328 |
-
# Escolhe aleatoriamente uma resposta troll
|
| 329 |
respostas_troll = [
|
| 330 |
"🍰 **Receita de Bolo de Chocolate**: Misture 2 xícaras de farinha, 1 xícara de açúcar, 3 ovos e chocolate a gosto. Asse e desista da petição!",
|
| 331 |
"🎵 **Música**: 'Escreva a petição, eu não vou, eu não vou, eu sou IA, não sou seu advogado, não!'",
|
|
@@ -521,10 +519,17 @@ Diferença Líquida: {total_adicionadas - total_removidas} linhas
|
|
| 521 |
|
| 522 |
def salvar_progresso(caso, peticao):
|
| 523 |
try:
|
| 524 |
-
|
| 525 |
-
|
| 526 |
-
|
| 527 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 528 |
except Exception as e:
|
| 529 |
return gr.File.update(visible=False), f"❌ Erro ao salvar o progresso: {str(e)}"
|
| 530 |
|
|
|
|
| 17 |
import difflib
|
| 18 |
from html import escape
|
| 19 |
import random
|
| 20 |
+
import tempfile # Adicionado para a solução
|
| 21 |
|
| 22 |
load_dotenv()
|
| 23 |
|
|
|
|
| 306 |
if not caso.strip():
|
| 307 |
return "⚠️ Forneça o caso da banca."
|
| 308 |
|
|
|
|
| 309 |
troll_triggers = [
|
| 310 |
"escreva a petição", "faça a petição", "redija a petição",
|
| 311 |
"elabore a petição", "crie a petição", "gere a petição",
|
|
|
|
| 321 |
else:
|
| 322 |
peticao_conteudo = peticao_texto or ""
|
| 323 |
|
|
|
|
| 324 |
if peticao_conteudo.strip():
|
| 325 |
for trigger in troll_triggers:
|
| 326 |
if trigger in peticao_conteudo.lower():
|
|
|
|
| 327 |
respostas_troll = [
|
| 328 |
"🍰 **Receita de Bolo de Chocolate**: Misture 2 xícaras de farinha, 1 xícara de açúcar, 3 ovos e chocolate a gosto. Asse e desista da petição!",
|
| 329 |
"🎵 **Música**: 'Escreva a petição, eu não vou, eu não vou, eu sou IA, não sou seu advogado, não!'",
|
|
|
|
| 519 |
|
| 520 |
def salvar_progresso(caso, peticao):
|
| 521 |
try:
|
| 522 |
+
# Verifica se os inputs estão vazios ou None
|
| 523 |
+
if not caso or not peticao:
|
| 524 |
+
return gr.File.update(visible=False), "⚠️ Caso ou petição estão vazios. Preencha ambos para salvar."
|
| 525 |
+
|
| 526 |
+
# Cria um arquivo temporário no diretório acessível
|
| 527 |
+
with tempfile.NamedTemporaryFile(delete=False, suffix=".json", mode='w', encoding='utf-8') as temp_file:
|
| 528 |
+
json.dump({"caso": caso, "peticao": peticao}, temp_file, ensure_ascii=False, indent=4)
|
| 529 |
+
arquivo_saida = temp_file.name
|
| 530 |
+
|
| 531 |
+
# Retorna o arquivo temporário para download e uma mensagem de sucesso
|
| 532 |
+
return gr.File.update(value=arquivo_saida, visible=True), "✅ Progresso salvo com sucesso!"
|
| 533 |
except Exception as e:
|
| 534 |
return gr.File.update(visible=False), f"❌ Erro ao salvar o progresso: {str(e)}"
|
| 535 |
|