Skip to content

Commit 8eb7a67

Browse files
authored
[main][613542](UserStory) add support for sequence-specific aspect ratio (#113)
1 parent 6f62c99 commit 8eb7a67

2 files changed

Lines changed: 11 additions & 2 deletions

File tree

flixpy/flix/lib/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ class Sequence(TypedDict, total=False):
9393
panel_revision_count: int
9494
deleted: bool
9595
hidden: bool
96+
aspect_ratio: NotRequired[float]
9697
colour_tag: ColorTag | None
9798
metadata: list[MetadataField]
9899
tracking_code: str

flixpy/flix/lib/types.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -808,6 +808,7 @@ def __init__(
808808
description: str = "",
809809
hidden: bool = False,
810810
color_tag: ColorTag | None = None,
811+
aspect_ratio: float | None = None,
811812
*,
812813
sequence_id: int | None = None,
813814
created_date: datetime.datetime | None = None,
@@ -834,6 +835,7 @@ def __init__(
834835
self.metadata = Metadata(metadata, parent=self, _client=_client)
835836
self.hidden = hidden
836837
self.color_tag = color_tag
838+
self.aspect_ratio = aspect_ratio
837839

838840
@classmethod
839841
def from_dict(
@@ -857,6 +859,7 @@ def from_dict(
857859
into.metadata = Metadata.from_dict(data.get("metadata"), parent=into, _client=_client)
858860
into.hidden = data.get("hidden", False)
859861
into.color_tag = ColorTag.from_dict(c) if (c := data.get("colour_tag")) else None
862+
into.aspect_ratio = data.get("aspect_ratio")
860863
return into
861864

862865
def to_dict(self) -> models.Sequence:
@@ -869,6 +872,8 @@ def to_dict(self) -> models.Sequence:
869872
)
870873
if self.sequence_id is not None:
871874
sequence["id"] = self.sequence_id
875+
if self.aspect_ratio is not None:
876+
sequence["aspect_ratio"] = self.aspect_ratio
872877

873878
return sequence
874879

@@ -1337,7 +1342,7 @@ class Show(FlixType):
13371342
def __init__(
13381343
self,
13391344
tracking_code: str = "",
1340-
aspect_ratio: float = 1.77,
1345+
aspect_ratio: float = 16 / 9,
13411346
frame_rate: float = 24,
13421347
title: str = "",
13431348
description: str = "",
@@ -1639,10 +1644,13 @@ def new_episode(
16391644
_client=self.client,
16401645
)
16411646

1642-
def new_sequence(self, tracking_code: str, description: str = "") -> Sequence:
1647+
def new_sequence(
1648+
self, tracking_code: str, description: str = "", aspect_ratio: float | None = None
1649+
) -> Sequence:
16431650
return Sequence(
16441651
tracking_code=tracking_code,
16451652
description=description or tracking_code,
1653+
aspect_ratio=aspect_ratio,
16461654
_show=self,
16471655
_episode=None,
16481656
_client=self.client,

0 commit comments

Comments
 (0)