hio.base.hier.hiering
hio.base.hier.hiering Module
Provides hierarchical action support
Syntax notes for Mine and Dock use in boxwork:
H hold (Hold) boxwork shared data attribute syntax with locally scoped
variable H ref for hold .
so need syntax does not heed to "quote" paths keys into the bags
containers Mine dict subclasses with attribute support.
H.root_dog.value is equivalent to self.hold["root_dog"].value or
self.hold[("root", "dog")].value
So need term "H.root_dog.value > 5" should compile directly and eval
as long as H is in the locals() and H is a Mine instance.
Likewise for
D.root_dog.value where D is a Dock and root_dog is a key in the Dock.
So no need to do substitutions or shorthand
The hierarchy in the .mine/.dock is indicated by '_' separated keys
The Box Boxer Actor names are forbidden from having '_" as an element
with Renam regex test.
Module Contents
- class hio.base.hier.hiering.WorkDom
Bases:
hio.help.MapDomWorkDom provides state for building boxwork by a boxer to be injected make methods of Boxer by workify wrapper.
Attributes:
box (Box | None): current box in box work. None if not yet a box over (Box | None): current over Box in box work. None if top level bxpre (str): default box name prefix used to generate unique box name relative to boxer.boxes bxidx (int): default box name index used to generate unique box name relative to boxer.boxes acts (dict): registry of ActBase subclasses by name (including aliases) context (str): action context for act