feat: verificação do resultado do razor_all_tracks para falha limp

- verificação do resultado do razor_all_tracks para falha limpa em cortes e ganchos

Resumo:
- 2 arquivos alterados
- 0 novos
- 2 modificados
- 0 removidos

 2 files changed, 12 insertions(+), 2 deletions(-)

Arquivos:
  - code/engine/editor/aplicador_de_plano_de_edicao.py
  - code/engine/testes/test_aplicador_de_plano_de_edicao.py
This commit is contained in:
João Henrique
2026-09-10 18:24:46 -04:00
parent e73b094187
commit 024b004938
2 changed files with 12 additions and 2 deletions
@@ -402,8 +402,18 @@ class AplicadorDePlanoDeEdicao:
pontos_para_cortar.add(self.mapeador.instante_na_timeline(clipe, acao.inicio))
if acao.fim < clipe.intervalo_na_origem.fim:
pontos_para_cortar.add(self.mapeador.instante_na_timeline(clipe, acao.fim))
razor_bem_sucedido = True
for ponto in sorted(pontos_para_cortar, reverse=True):
self.escrita.dividir_todas_as_faixas(ponto)
try:
self.escrita.dividir_todas_as_faixas(ponto)
except ErroDeEdicao:
razor_bem_sucedido = False
break
if not razor_bem_sucedido:
raise ErroDeMapeamentoDeTempo(
f"O razor falhou ao isolar o trecho do gancho "
f"({acao.inicio:.3f}-{acao.fim:.3f}s); o gancho não foi aplicado."
)
faixas = self._timeline_atual().faixas
faixas_afetadas = [
@@ -330,7 +330,7 @@ class TesteAplicadorDePlanoDeEdicao(unittest.TestCase):
mapeador=MapeadorDeTempoDeOrigemParaTimeline(),
)
plano = PlanoDeEdicao("0E6A8290.mp4", (
AcaoDeEdicao(TipoDeAcao.CORTE, inicio=0.0, fim=40.6, motivo="bastidor"),
AcaoDeEdicao(TipoDeAcao.CORTE, inicio=2.3, fim=20.0, motivo="bastidor"),
AcaoDeEdicao(TipoDeAcao.MARCADOR, inicio=90.0, fim=90.5, motivo="ok", parametros={"content": "X"}),
))
resultado = aplicador.aplicar(plano)