@@ -13,30 +13,22 @@ class Component(ABC, MutableMapping):
1313 def __attrs_init_subclass__ (cls ):
1414 COMPONENTS [cls .__name__ .lower ()] = cls
1515
16- def __attrs_post_init__ (self ):
17- self ._where = type (self ).__xattree__ ["where" ]
18-
1916 def __getitem__ (self , key ):
20- data = getattr (self , self ._where )
21- return data .children [key ]
17+ return self .children [key ] # type: ignore
2218
2319 def __setitem__ (self , key , value ):
24- data = getattr (self , self ._where )
25- if key in data .children :
26- data .update ({key : value })
27- else :
28- data = data .assign ({key : value })
29- setattr (self , self ._where , data )
20+ self .children [key ] = value # type: ignore
3021
3122 def __delitem__ (self , key ):
32- data = getattr (self , self ._where )
33- data = data .drop_nodes (key )
34- setattr (self , self ._where , data )
23+ del self .children [key ] # type: ignore
3524
3625 def __iter__ (self ):
37- data = getattr (self , self ._where )
38- return iter (data .children )
26+ return iter (self .children ) # type: ignore
3927
4028 def __len__ (self ):
41- data = getattr (self , self ._where )
42- return len (data .children )
29+ return len (self .children ) # type: ignore
30+
31+ def write (self ) -> None :
32+ # TODO: write with jinja to file
33+ for child in self .children .values (): # type: ignore
34+ child .write ()
0 commit comments