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 =
|
| 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"
|