Files
jhonny-editor/code/engine/scanner/modelos.py
T
João Henrique b541f502ba feat: initial commit - Jhonny Editor
- Adicionado estrutura completa do projeto
- Configurado MCP server para Premiere Pro
- Adicionado documentação e skills
- Configurado Gitignore para o projeto
2026-09-08 09:59:31 -04:00

57 lines
1.2 KiB
Python

from dataclasses import dataclass, field
from enum import Enum
from typing import Any
class StatusDaAnalise(str, Enum):
CONCLUIDA = "concluida"
CONCLUIDA_COM_AVISOS = "concluida_com_avisos"
FALHOU = "falhou"
@dataclass(frozen=True)
class ErroDeAnalise(Exception):
codigo: str
mensagem: str
caminho: str | None = None
detalhes: dict[str, Any] = field(default_factory=dict)
def __post_init__(self) -> None:
Exception.__init__(self, self.mensagem)
@dataclass
class ResultadoDaAnalise:
status: StatusDaAnalise
timeline: Any = None
erros: list[ErroDeAnalise] = field(default_factory=list)
avisos: list[str] = field(default_factory=list)
@dataclass(frozen=True)
class SegmentoDeTranscricao:
inicio: float
fim: float
texto: str
confianca: float | None = None
def __post_init__(self) -> None:
if self.inicio < 0 or self.fim < self.inicio:
raise ValueError("Intervalo de transcrição inválido.")
@dataclass(frozen=True)
class Cena:
inicio: float
fim: float
confianca: float | None = None
referencias: tuple[float, ...] = ()
@dataclass(frozen=True)
class Evento:
tipo: str
inicio: float
fim: float
confianca: float | None = None