Source code for pydelfini.delfini_core.models.item_statistics
from typing import Any
from typing import Dict
from typing import Type
from typing import TypeVar
from attrs import define as _attrs_define
from ..models.item_statistics_columns import ItemStatisticsColumns
T = TypeVar("T", bound="ItemStatistics")
[docs]
@_attrs_define
class ItemStatistics:
"""ItemStatistics model
Attributes:
columns (ItemStatisticsColumns):
total_columns (int):
total_rows (int):
"""
columns: "ItemStatisticsColumns"
total_columns: int
total_rows: int
[docs]
def to_dict(self) -> Dict[str, Any]:
"""Convert to a dict"""
columns = self.columns.to_dict()
total_columns = self.total_columns
total_rows = self.total_rows
field_dict: Dict[str, Any] = {}
field_dict.update(
{
"columns": columns,
"totalColumns": total_columns,
"totalRows": total_rows,
}
)
return field_dict
[docs]
@classmethod
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
"""Create an instance of :py:class:`ItemStatistics` from a dict"""
d = src_dict.copy()
columns = ItemStatisticsColumns.from_dict(d.pop("columns"))
total_columns = d.pop("totalColumns")
total_rows = d.pop("totalRows")
item_statistics = cls(
columns=columns,
total_columns=total_columns,
total_rows=total_rows,
)
return item_statistics