feat: criada a guia Trilhas com processamento em lote e progresso

- criada a guia Trilhas com processamento em lote e progresso por música
- simplificada a guia Trilhas para ocultar a configuração interna dos modelos

Resumo:
- 12 arquivos alterados
- 1 novos
- 11 modificados
- 0 removidos

 11 files changed, 173 insertions(+), 41 deletions(-)

Arquivos:
  - .jhonny/analises.db
  - code/cep-plugin/index.html
  - code/cep-plugin/main.js
  - code/cep-plugin/styles.css
  - code/engine/analisar_trilhas.py
  - code/engine/carregar_plano_de_edicao.py
  - code/engine/executar_scanner.py
  - code/engine/persistencia/__init__.py
  - code/engine/persistencia/repositorio_de_trilhas.py
  - code/engine/testes/test_carregar_plano_de_edicao.py
  - code/engine/testes/test_executar_scanner.py
  - code/engine/testes/test_repositorio_de_trilhas.py
This commit is contained in:
João Henrique
2026-09-10 13:59:25 -04:00
parent b1272a5e6e
commit 4c04365934
12 changed files with 236 additions and 41 deletions
@@ -38,12 +38,12 @@ class RepositorioDeTrilhasSQLite:
raise NotADirectoryError(f"A pasta de trilhas não existe: {caminho_da_pasta}")
arquivos_materializados = tuple(Path(arquivo).resolve() for arquivo in arquivos)
with self.conexao:
cursor = self.conexao.execute(
self.conexao.execute(
"""INSERT INTO pastas_de_trilhas(caminho) VALUES (?)
ON CONFLICT(caminho) DO UPDATE SET atualizada_em = strftime('%Y-%m-%dT%H:%M:%fZ','now')""",
(str(caminho_da_pasta),),
)
pasta_id = cursor.lastrowid or self.conexao.execute(
pasta_id = self.conexao.execute(
"SELECT id FROM pastas_de_trilhas WHERE caminho = ?", (str(caminho_da_pasta),)
).fetchone()[0]
resultado: list[TrilhaMusical] = []