예제 #1
0
    def build(config):

        leaf = Leaf()
        t = Topology()

        TopologyBuilder.prebuild(config)

        for num, node in TopologyBuilder.numberingObjects.items():

            if num == 0:
                root = node

            children = []

            for child in node.children:
                children.append(TopologyBuilder.numberingObjects[child])
                TopologyBuilder.numberingObjects[child].add_parent(node)

            node.clear_children()
            node.add_children(children)

            if not node.children:
                node.add_child(leaf)
                leaf.add_parent(node)

        TopologyBuilder.numberingObjects = None
        t.root = root
        return t
예제 #2
0
    def build(config):
       
        leaf = Leaf() 
        t = Topology()
        
        TopologyBuilder.prebuild(config)
        
        for num, node in TopologyBuilder.numberingObjects.items() :

            if num == 0 :
                root = node
                            
            children = []

            for child in node.children :
                children.append(TopologyBuilder.numberingObjects[child])
                TopologyBuilder.numberingObjects[child].add_parent(node)
                
            node.clear_children()
            node.add_children(children)
            
            if not node.children :
                node.add_child(leaf)
                leaf.add_parent(node)
            
        TopologyBuilder.numberingObjects = None
        t.root = root
        return t
예제 #3
0
 def prebuilds(definition, config):
     
     if not type(definition) is dict :
         raise Exception('TpologyBuilder.prebuilds: node definition must be dictionary. real [%s]' % type(definition))
     
     num = definition['num']
     children = definition['children']
     name = definition['class']
     root_yn = definition['root']
         
     node = TopologyBuilder.newinstance(name, config)
     node.add_children(children)
     
     TopologyBuilder.numberingObjects[num] = node
     
     if root_yn :
         TopologyBuilder.numberingObjects[0].add_child(num)
예제 #4
0
    def prebuilds(definition, config):

        if not type(definition) is dict:
            raise Exception(
                'TpologyBuilder.prebuilds: node definition must be dictionary. real [%s]'
                % type(definition))

        num = definition['num']
        children = definition['children']
        name = definition['class']
        root_yn = definition['root']

        node = TopologyBuilder.newinstance(name, config)
        node.add_children(children)

        TopologyBuilder.numberingObjects[num] = node

        if root_yn:
            TopologyBuilder.numberingObjects[0].add_child(num)