Source code for m2m_postaviz.lineage
[docs]
class Lineage():
def __init__(self):
self.level_dict=dict()
[docs]
def get_keys(self, data:dict, level:int):
keys = data.keys()
keys_with_child = []
for k in keys:
if bool(data[k]):
keys_with_child.append(k)
if level in self.level_dict:
self.level_dict[level].extend(keys_with_child)
else:
self.level_dict[level] = keys_with_child
[docs]
def construct_dict(self, data:dict, level:int):
for k in data:
self.get_keys(data[k], level)
self.construct_dict(data[k], level+1)