"""Backup automático da sequência antes de aplicar um plano de edição.""" from __future__ import annotations from ..integracoes.premiere.cliente_mcp import ClienteMCP from ..integracoes.premiere.erros_mcp import ErroDeFerramentaMCP class BackupDaSequencia: """Duplica a sequência ativa do Premiere antes de uma edição destrutiva. A engine concentra este passo de segurança para que painel e linha de comando não criem cópias duplicadas. Sem undo por script nesta versão do Premiere, duplicar a sequência antes de cortar é a única forma de recuperar o estado anterior se algo sair errado. """ def __init__(self, cliente_mcp: ClienteMCP) -> None: self.cliente_mcp = cliente_mcp def criar_backup(self, identificador_da_sequencia: str) -> bool: """Duplica a sequência. Devolve ``True`` se conseguiu, ``False`` se o Premiere recusou. Não levanta exceção numa recusa: a engine registra a falha e continua a aplicação solicitada, deixando a ausência de backup visível. """ try: self.cliente_mcp.chamar("duplicate_sequence", {"sequence_id": identificador_da_sequencia}) return True except ErroDeFerramentaMCP: return False