From 57ad245e927b1e5a9b230de3605431a041bb192e Mon Sep 17 00:00:00 2001 From: Aaron Bentley Date: Mon, 3 Apr 2006 13:42:14 -0400 Subject: Added reply handling to comments --- libbe/bugdir.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'libbe/bugdir.py') diff --git a/libbe/bugdir.py b/libbe/bugdir.py index b78ec06..fafd1ac 100644 --- a/libbe/bugdir.py +++ b/libbe/bugdir.py @@ -370,7 +370,28 @@ class Comment(object): if name is None: return my_dir return os.path.join(my_dir, name) - + + +def thread_comments(comments): + child_map = {} + top_comments = [] + for comment in comments: + child_map[comment.uuid] = [] + for comment in comments: + if comment.in_reply_to is None or comment.in_reply_to not in child_map: + top_comments.append(comment) + continue + child_map[comment.in_reply_to].append(comment) + + def recurse_children(comment): + child_list = [] + for child in child_map[comment.uuid]: + child_list.append(recurse_children(child)) + return (comment, child_list) + print top_comments + return [recurse_children(c) for c in top_comments] + + def pyname_to_header(name): return name.capitalize().replace('_', '-') -- cgit