def __get_group(self, group_type_desc, group_label: Optional[str], part_of_label) -> Optional[Group]: if not group_label: return None group_type_label = group_label group_type = _group_types[group_type_desc] part_of_group = (self.__get_group(part_of_label, (), ()) if part_of_label else None) group = Group(self._graph, group_label, group_type) if part_of_group: group.add_relationship(Nampi_type.Core.is_part_of, part_of_group) return group
def __get_group(self, group_label: Optional[str]) -> Optional[Group]: if not group_label: return None group_type_label = self.__sheet.get_from_table(Table.GROUPS, Column.name, group_label, Column.type) part_of_label = self.__sheet.get_from_table(Table.GROUPS, Column.name, group_label, Column.part_of) group_type = (_group_types[group_type_label] if group_type_label else Nampi_type.Core.group) part_of_group = self.__get_group( part_of_label) if part_of_label else None group = Group(self._graph, group_label, group_type) if part_of_group: group.add_relationship(Nampi_type.Core.is_part_of, part_of_group) return group