corrigido o progresso na inteface e o encoder

This commit is contained in:
2026-02-09 00:37:57 +00:00
parent e273233e38
commit 3fe63c0bc6
9 changed files with 1684 additions and 160 deletions

View File

@@ -8,35 +8,43 @@ class AppState:
# --- Referência ao Watcher ---
self.watcher = None
# --- Lista de Tarefas (Visualização tipo Árvore/Lista) ---
# --- Lista de Tarefas ---
self.tasks = OrderedDict()
# --- Variáveis de Estado (Compatibilidade) ---
# --- Variáveis de Estado ---
self.current_file = ""
self.progress = 0.0
self.status_text = "Aguardando..."
def log(self, message):
"""Adiciona log e printa no console"""
print(message)
self.logs.append(message)
def update_task(self, filename, status, progress=0, label=None):
"""Atualiza o status de um arquivo na interface"""
def update_task(self, filename, status, progress=0, label=None, file_progress=0, speed=''):
"""
Atualiza o status de um arquivo.
progress: Progresso Global da Tarefa (0-100)
file_progress: Progresso da Conversão do Arquivo (0-100)
speed: Velocidade de conversão (ex: 8.5x)
"""
# Se não existe, cria
if filename not in self.tasks:
self.tasks[filename] = {
'status': 'pending',
'progress': 0,
'file_progress': 0,
'speed': '',
'label': label or filename
}
# Limita a 20 itens para não travar a tela
# Limita a 20 itens
if len(self.tasks) > 20:
self.tasks.popitem(last=False) # Remove o mais antigo
self.tasks.popitem(last=False)
# Atualiza dados
self.tasks[filename]['status'] = status
self.tasks[filename]['progress'] = progress
self.tasks[filename]['file_progress'] = file_progress
self.tasks[filename]['speed'] = speed
if label:
self.tasks[filename]['label'] = label
@@ -44,6 +52,4 @@ class AppState:
return list(self.logs)
# --- INSTÂNCIA GLOBAL ---
# Ao ser importado, isso roda uma vez e cria o objeto.
# Todo mundo que fizer 'from core.state import state' vai pegar essa mesma instância.
state = AppState()