コード例 #1
0
    def get_child_node_id(cid):
        if not msc.MSC.row_with_cid_exists(cid, 1):
            return None

        colnames = ["id"]
        results = msc.MSC.get_child_collection(colnames, cid)

        if msc.is_data_valid(results):
            # get and return only id from the list
            return [row[0] for row in results]
コード例 #2
0
    def create_and_link_child_nodes(self):
        colnames = ["id", "parent_id"]
        results = msc.MSC.get_child_collection(colnames, self.cid)

        # for each row / node in results, create TreeNode object and link to the current node
        if msc.is_data_valid(results):
            for row in results:
                cid, parent_id = row
                child_node = TreeNode(int(cid))
                self.add_child(child_node)
コード例 #3
0
    def rec_print_tree_db(cid, max_level, level=0):  # recursive
        ##print TreeNode.get_node_info_with_cid(cid, level)
        print msc.prepend_columns_string(TreeNode.get_node_info_with_cid(cid, level), level, 8)
        new_level = level + 1

        if new_level == max_level:
            return  # stop recursing

            # get collection id of child nodes
        child_cids = TreeNode.get_child_node_id(cid)

        if msc.is_data_valid(child_cids):
            for cid in child_cids:
                TreeNode.rec_print_tree_db(cid, max_level, new_level)