def _generate_inner_nodes(elem, tag, parent_dn, parent_tag, parent_verb): class_id = ucsgenutils.word_u(elem.tag) if not ucscoreutils.is_valid_class_id(class_id): return node = Node(elem, tag, parent_dn, parent_tag, parent_verb) ret_obj = _process_child_elem(elem, tag, node, 1) return ret_obj["node"]
def __init__(self, elem, tag, parent_dn=None, parent_tag=None, parent_verb=None): self.elem = elem self.tag = tag self.parent_dn = parent_dn self.parent_tag = parent_tag self.parent_verb = parent_verb self.class_id = ucsgenutils.word_u(elem.tag) self.class_ref = ucscoreutils.load_class(self.class_id) self.mo_meta = self.class_ref.mo_meta self.prop_meta = self.class_ref.prop_meta self.prop_map = self.class_ref.prop_map self.dn = self._make_dn() self.verb = self._get_verb() self.child = []
def _generate_outer_nodes(elem): top_nodes = [] if elem.tag != "topRoot": return top_nodes for child in elem.getchildren(): class_id = ucsgenutils.word_u(child.tag) if not ucscoreutils.is_valid_class_id(class_id) \ or class_id not in classid_dn_map: continue parent_nodes = [] for sub_child in child.getchildren(): if _ignore_elem(sub_child): continue parent_node = Node(elem=child, tag="obj", parent_dn=None, parent_tag=None, parent_verb=None) parent_node.verb = "Get" parent_node.dn = classid_dn_map[class_id] child_node = _generate_inner_nodes( elem=sub_child, tag="mo", parent_dn=parent_node.dn, parent_tag=parent_node.tag, parent_verb=parent_node.verb) parent_node.child.append(child_node) parent_nodes.append(parent_node) top_nodes.append(parent_nodes) return top_nodes
def _generate_outer_nodes(elem): top_nodes = [] if elem.tag != "topRoot": return top_nodes for child in elem.getchildren(): class_id = ucsgenutils.word_u(child.tag) if not ucscoreutils.is_valid_class_id(class_id) \ or class_id not in classid_dn_map: continue parent_nodes = [] for sub_child in child.getchildren(): if _ignore_elem(sub_child): continue parent_node = Node(elem=child, tag="obj", parent_dn=None, parent_tag=None, parent_verb=None) parent_node.verb = "Get" parent_node.dn = classid_dn_map[class_id] child_node = _generate_inner_nodes(elem=sub_child, tag="mo", parent_dn=parent_node.dn, parent_tag=parent_node.tag, parent_verb=parent_node.verb) parent_node.child.append(child_node) parent_nodes.append(parent_node) top_nodes.append(parent_nodes) return top_nodes