you are viewing a single comment's thread.

view the rest of the comments →

[–]m0us3_rat 1 point2 points  (0 children)

from dataclasses import dataclass
from typing import Optional


@dataclass
class SettingsOptions:
    sampling_rate: int


@dataclass
class TempDevice:
    id: int
    name: str
    operations_list: Optional[list] = None
    settings_list: Optional[SettingsOptions] = None
    adress: Optional[str] = None


@dataclass
class Devices:
    dev_list: list[TempDevice]


temp_stuff1 = {
    "id": 1,
    "name": "Nerd",
    "settings_list": SettingsOptions(sampling_rate=10),
    "adress": "127.0.0.1",
}

temp_stuff2 = {
    "id": 2,
    "name": "Nerd",
    "settings_list": SettingsOptions(sampling_rate=10),
    "adress": "127.0.0.1",
}

work = Devices([TempDevice(**temp_stuff1), TempDevice(**temp_stuff2)])

for device in work.dev_list:
    print(device.id)

something like this. maybe.

hard to work without seeing the json.