260def update_flags( flags, node, domain="" ) :
261 """ take a lovely tree and convert to an egregious flags list,
262 only adding items that are not in the original flags list """
263
264 for key, value in node.__dict__.items():
265 if key in {"_name","_children","_lockstate", "_flags", "_root" } : continue
266 name = f"{domain}.{key}"
267 if notDefined(flags,name) : flags.addFlag( name, value )
268
269 for n in node.nodes() :
270 if domain=="" : update_flags( flags, n, f"{n.name()}" )
271 else: update_flags( flags, n, f"{domain}.{n.name()}" )
272