added definition of final model data
This commit is contained in:
@@ -0,0 +1,44 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
from .angle import AngleData
|
||||||
|
from .contact import ContactData
|
||||||
|
from .distance import DistanceData
|
||||||
|
from .framing import FramingData
|
||||||
|
from .information_value import InformationValueData
|
||||||
|
from .modality_color import ModalityColorData
|
||||||
|
from .modality_depth import ModalityDepthData
|
||||||
|
from .modality_lighting import ModalityLightingData
|
||||||
|
from .point_of_view import PointOfViewData
|
||||||
|
from .salience import SalienceData
|
||||||
|
from .visual_syntax import VisualSyntaxData
|
||||||
|
|
||||||
|
|
||||||
|
class ModelData(BaseModel):
|
||||||
|
visual_syntax: VisualSyntaxData
|
||||||
|
contact: ContactData
|
||||||
|
angle: AngleData
|
||||||
|
point_of_view: PointOfViewData
|
||||||
|
distance: DistanceData
|
||||||
|
modality_lighting: ModalityLightingData
|
||||||
|
modality_color: ModalityColorData
|
||||||
|
modality_depth: ModalityDepthData
|
||||||
|
information_value: InformationValueData
|
||||||
|
framing: FramingData
|
||||||
|
salience: SalienceData
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def list_fields(cls) -> list[str]:
|
||||||
|
"""List options that are stored as attributes."""
|
||||||
|
return list(cls.model_fields.keys())
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_random(cls) -> ModelData:
|
||||||
|
"""Instantiate with random numbers."""
|
||||||
|
kwargs = {
|
||||||
|
field: field_info.annotation.from_random() # type: ignore
|
||||||
|
for field, field_info
|
||||||
|
in cls.model_fields.items()
|
||||||
|
}
|
||||||
|
return cls(**kwargs)
|
||||||
Reference in New Issue
Block a user