Spaces:
Sleeping
Sleeping
Commit
·
ef94613
1
Parent(s):
dcffdde
a5
Browse files
app.py
CHANGED
@@ -4,6 +4,27 @@ import subprocess
|
|
4 |
import time
|
5 |
from collections import deque
|
6 |
import shutil
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
def check_and_install_java():
|
9 |
"""Verifica se Java está instalado e tenta instalar se necessário"""
|
@@ -802,11 +823,8 @@ public class BattleMain {{
|
|
802 |
# Atualizar a cada turno
|
803 |
texto = "".join(list(turnos)) + turno_atual
|
804 |
|
805 |
-
# Conversão de cores
|
806 |
-
formatted_texto = texto
|
807 |
-
formatted_texto = formatted_texto.replace("\\033[34m", "<span style='color:blue;'>")
|
808 |
-
formatted_texto = formatted_texto.replace("\\033[32m", "<span style='color:green;'>")
|
809 |
-
formatted_texto = formatted_texto.replace("\\033[0m", "</span>")
|
810 |
|
811 |
# Script de scroll
|
812 |
scroll_js = """
|
@@ -841,10 +859,8 @@ public class BattleMain {{
|
|
841 |
|
842 |
# Ao final, mostrar resultado destacado
|
843 |
if resultado_final:
|
844 |
-
|
845 |
-
formatted_saida =
|
846 |
-
formatted_saida = formatted_saida.replace("\\033[32m", "<span style='color:green;'>")
|
847 |
-
formatted_saida = formatted_saida.replace("\\033[0m", "</span>")
|
848 |
|
849 |
vencedor = "Time 1" if "Time 1 venceu" in resultado_final else "Time 2"
|
850 |
cor = "blue" if vencedor == "Time 1" else "red"
|
|
|
4 |
import time
|
5 |
from collections import deque
|
6 |
import shutil
|
7 |
+
import re
|
8 |
+
|
9 |
+
def format_colors(text):
|
10 |
+
"""Converte códigos ANSI para HTML de forma robusta"""
|
11 |
+
# Substituições específicas antes da limpeza geral
|
12 |
+
text = text.replace("\\u001B[31m", "<span style='color:red;'>")
|
13 |
+
text = text.replace("\\u001B[34m", "<span style='color:blue;'>")
|
14 |
+
text = text.replace("\\u001B[32m", "<span style='color:green;'>")
|
15 |
+
text = text.replace("\\u001B[0m", "</span>")
|
16 |
+
|
17 |
+
# Substituições para códigos que aparecem sem escape
|
18 |
+
text = text.replace("[31m", "<span style='color:red;'>")
|
19 |
+
text = text.replace("[34m", "<span style='color:blue;'>")
|
20 |
+
text = text.replace("[32m", "<span style='color:green;'>")
|
21 |
+
text = text.replace("[0m", "</span>")
|
22 |
+
|
23 |
+
# Padrão para capturar códigos ANSI restantes e removê-los
|
24 |
+
ansi_pattern = r'\x1b\[[0-9;]*m'
|
25 |
+
text = re.sub(ansi_pattern, '', text)
|
26 |
+
|
27 |
+
return text
|
28 |
|
29 |
def check_and_install_java():
|
30 |
"""Verifica se Java está instalado e tenta instalar se necessário"""
|
|
|
823 |
# Atualizar a cada turno
|
824 |
texto = "".join(list(turnos)) + turno_atual
|
825 |
|
826 |
+
# Conversão de cores usando função robusta
|
827 |
+
formatted_texto = format_colors(texto)
|
|
|
|
|
|
|
828 |
|
829 |
# Script de scroll
|
830 |
scroll_js = """
|
|
|
859 |
|
860 |
# Ao final, mostrar resultado destacado
|
861 |
if resultado_final:
|
862 |
+
# Usar função robusta para formatar cores
|
863 |
+
formatted_saida = format_colors(saida_completa)
|
|
|
|
|
864 |
|
865 |
vencedor = "Time 1" if "Time 1 venceu" in resultado_final else "Time 2"
|
866 |
cor = "blue" if vencedor == "Time 1" else "red"
|