diff --git a/src/hooked_containers/common.py b/src/hooked_containers/container.py similarity index 100% rename from src/hooked_containers/common.py rename to src/hooked_containers/container.py diff --git a/src/hooked_containers/mapping.py b/src/hooked_containers/mapping.py index d7a93af..856d7fe 100644 --- a/src/hooked_containers/mapping.py +++ b/src/hooked_containers/mapping.py @@ -3,7 +3,7 @@ from copy import copy from typing import TypeVar from . import events as e -from .common import HookedContainer, MutableNesting +from .container import HookedContainer, MutableNesting T = TypeVar("T") diff --git a/src/hooked_containers/state.py b/src/hooked_containers/state.py index c44cc17..89903a3 100644 --- a/src/hooked_containers/state.py +++ b/src/hooked_containers/state.py @@ -3,7 +3,13 @@ from datetime import datetime from .mapping import HookedMapping +class EntityState(HookedMapping[str]): + pass + + class DomainState(HookedMapping[str]): + _data: EntityState + def __setitem__(self, key, value): super().__setitem__(key, value) super().__setitem__("last_changed", datetime.now()) @@ -12,6 +18,9 @@ class DomainState(HookedMapping[str]): class NameSpaceState(HookedMapping[str]): _data: DomainState + def __iter__(self): + return super().__iter__() + def __setitem__(self, key, value): super().__setitem__(key, value) # print("ns SetItem")