♻️ make fields optional, fps data type

This commit is contained in:
Ondřej Samohel 2024-11-08 09:46:04 +01:00
parent 4d31c5ee6e
commit b9e430e2a5
No known key found for this signature in database
GPG key ID: 02376E18990A97C6

View file

@ -2,12 +2,16 @@
from __future__ import annotations
from enum import Enum, auto
from typing import ClassVar, Optional
from typing import TYPE_CHECKING, ClassVar, Optional, Union
from pydantic import Field
from .trait import TraitBase
if TYPE_CHECKING:
from decimal import Decimal
from fractions import Fraction
class GapPolicy(Enum):
"""Gap policy enumeration.
@ -45,7 +49,7 @@ class FrameRanged(TraitBase):
frame_end (int): Frame end.
frame_in (int): Frame in.
frame_out (int): Frame out.
frames_per_second (int): Frames per second.
frames_per_second (float, Fraction, Decimal): Frames per second.
step (int): Step.
"""
@ -56,9 +60,9 @@ class FrameRanged(TraitBase):
..., title="Start Frame")
frame_end: int = Field(
..., title="Frame Start")
frame_in: int = Field(..., title="In Frame")
frame_out: int = Field(..., title="Out Frame")
frames_per_second: int = Field(
frame_in: Optional[int] = Field(None, title="In Frame")
frame_out: Optional[int] = Field(None, title="Out Frame")
frames_per_second: Union[float, Fraction, Decimal] = Field(
..., title="Frames Per Second")
step: Optional[int] = Field(1, title="Step")