init: new structure + fix lint errors
This commit is contained in:
@@ -0,0 +1,150 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Literal
|
||||
from uuid import UUID
|
||||
|
||||
from pydantic import ConfigDict
|
||||
|
||||
from cpv3.common.schemas import Schema
|
||||
|
||||
|
||||
ArtifactTypeEnum = Literal[
|
||||
"TRANSCRIPTION_JSON",
|
||||
"SILENCE_REMOVED_VIDEO",
|
||||
"THUMBNAIL",
|
||||
"AUDIO_PROXY",
|
||||
"RENDERED_VIDEO",
|
||||
]
|
||||
|
||||
|
||||
class MediaFileRead(Schema):
|
||||
id: UUID
|
||||
owner_id: UUID
|
||||
project_id: UUID | None
|
||||
|
||||
duration_seconds: float
|
||||
frame_rate: float | None
|
||||
width: int | None
|
||||
height: int | None
|
||||
|
||||
probe_json: dict | None
|
||||
notes: str | None
|
||||
meta: dict | None
|
||||
|
||||
is_deleted: bool
|
||||
is_active: bool
|
||||
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
|
||||
class MediaFileCreate(Schema):
|
||||
project_id: UUID | None = None
|
||||
duration_seconds: float
|
||||
frame_rate: float | None = None
|
||||
width: int | None = None
|
||||
height: int | None = None
|
||||
probe_json: dict | None = None
|
||||
notes: str | None = None
|
||||
meta: dict | None = None
|
||||
|
||||
|
||||
class MediaFileUpdate(Schema):
|
||||
notes: str | None = None
|
||||
meta: dict | None = None
|
||||
is_deleted: bool | None = None
|
||||
|
||||
|
||||
class ArtifactMediaFileRead(Schema):
|
||||
id: UUID
|
||||
project_id: UUID | None
|
||||
file_id: UUID | None
|
||||
media_file_id: UUID
|
||||
|
||||
artifact_type: ArtifactTypeEnum
|
||||
|
||||
is_deleted: bool
|
||||
is_active: bool
|
||||
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
|
||||
class ArtifactMediaFileCreate(Schema):
|
||||
project_id: UUID | None = None
|
||||
file_id: UUID | None = None
|
||||
media_file_id: UUID
|
||||
artifact_type: ArtifactTypeEnum
|
||||
|
||||
|
||||
class ArtifactMediaFileUpdate(Schema):
|
||||
is_deleted: bool | None = None
|
||||
|
||||
|
||||
class DispositionSchema(Schema):
|
||||
model_config = ConfigDict(extra="allow")
|
||||
|
||||
default: int | None = None
|
||||
|
||||
|
||||
class StreamSchema(Schema):
|
||||
model_config = ConfigDict(extra="allow")
|
||||
|
||||
index: int | None = None
|
||||
codec_name: str | None = None
|
||||
codec_long_name: str | None = None
|
||||
profile: str | None = None
|
||||
codec_type: str | None = None
|
||||
codec_tag_string: str | None = None
|
||||
codec_tag: str | None = None
|
||||
width: int | None = None
|
||||
height: int | None = None
|
||||
id: str | None = None
|
||||
r_frame_rate: str | None = None
|
||||
avg_frame_rate: str | None = None
|
||||
time_base: str | None = None
|
||||
start_pts: int | None = None
|
||||
start_time: str | None = None
|
||||
duration_ts: int | None = None
|
||||
duration: str | None = None
|
||||
bit_rate: str | None = None
|
||||
nb_frames: str | None = None
|
||||
extradata_size: int | None = None
|
||||
disposition: DispositionSchema | None = None
|
||||
tags: dict[str, str] | None = None
|
||||
|
||||
|
||||
class FormatSchema(Schema):
|
||||
model_config = ConfigDict(extra="allow")
|
||||
|
||||
filename: str | None = None
|
||||
nb_streams: int | None = None
|
||||
format_name: str | None = None
|
||||
format_long_name: str | None = None
|
||||
start_time: str | None = None
|
||||
duration: str | None = None
|
||||
size: str | None = None
|
||||
bit_rate: str | None = None
|
||||
probe_score: int | None = None
|
||||
tags: dict[str, str] | None = None
|
||||
|
||||
|
||||
class MediaProbeSchema(Schema):
|
||||
model_config = ConfigDict(extra="allow")
|
||||
|
||||
streams: list[StreamSchema] = []
|
||||
format: FormatSchema | None = None
|
||||
|
||||
|
||||
class MediaSilencerParams(Schema):
|
||||
file_path: str
|
||||
folder: str = ""
|
||||
min_silence_duration_ms: int = 200
|
||||
silence_threshold_db: int = 16
|
||||
padding_ms: int = 100
|
||||
|
||||
|
||||
class MediaConverterParams(Schema):
|
||||
file_path: str
|
||||
folder: str = ""
|
||||
Reference in New Issue
Block a user