Skip to content

omnipy.components.nested.models

CLASS DESCRIPTION
EnumeratedListModel
EnumeratedListOfTuplesModel
ListAsNestedDatasetModel
ATTRIBUTE DESCRIPTION
DatasetT

DatasetT module-attribute

DatasetT = TypeVar('DatasetT')

EnumeratedListModel

Bases: Model[EnumeratedListOfTuplesModel | list[object] | list[dict[str, object]]]

Source code in src/omnipy/components/nested/models.py
class EnumeratedListModel(Model[EnumeratedListOfTuplesModel | list[object]
                                | list[dict[str, object]]]):
    @classmethod
    def _parse_data(
        cls, data: EnumeratedListOfTuplesModel | list[object] | list[dict[str, object]]
    ) -> EnumeratedListOfTuplesModel:
        if not isinstance(data, EnumeratedListOfTuplesModel):
            return EnumeratedListOfTuplesModel(list(enumerate(data)))  # pyright: ignore
        else:
            return data

EnumeratedListOfTuplesModel

Bases: Model[list[tuple[int, object]]]

Source code in src/omnipy/components/nested/models.py
class EnumeratedListOfTuplesModel(Model[list[tuple[int, object]]]):
    @classmethod
    def _parse_data(cls, data: list[tuple[int, object]]) -> list[tuple[int, object]]:
        for expected_index, (actual_index, _) in enumerate(data):
            if expected_index != actual_index:
                raise ValueError(f'Indices are not sequential starting from 0: '
                                 f'expected {expected_index}, got {actual_index}')
        return data

ListAsNestedDatasetModel

Bases: _ListAsNestedDatasetModel

Source code in src/omnipy/components/nested/models.py
class ListAsNestedDatasetModel(_ListAsNestedDatasetModel):
    ...