def get_tree_pieces(cls, link, timer): tree = cls._load_tree(link) timer.intermediate('load') cids, depth, parents = get_tree_details(tree) num_children = calc_num_children(tree) num_children = defaultdict(int, num_children) timer.intermediate('calculate') return cids, tree, depth, parents, num_children
def get_tree_pieces(cls, link, timer): key = cls._comments_key(link._id) tree = g.permacache.get(key) timer.intermediate('load') tree = tree or {} # assume empty tree on miss cids, depth, parents = get_tree_details(tree) num_children = calc_num_children(tree) num_children = defaultdict(int, num_children) timer.intermediate('calculate') return cids, tree, depth, parents, num_children
def make_comment_tree(link): tree = {} def _add_comment(comment, parent): tree[comment.id] = [child.id for child in comment.children] for child in comment.children: _add_comment(child, parent=comment) tree[None] = [comment.id for comment in TREE] for comment in TREE: _add_comment(comment, parent=None) cids, depth, parents = get_tree_details(tree) num_children = calc_num_children(tree) num_children = defaultdict(int, num_children) return CommentTree(link, cids, tree, depth, parents, num_children)