From 09c5a4ff7dbc22b7f476ff821d1e1f5892079de6 Mon Sep 17 00:00:00 2001 From: Cy Date: Mon, 1 Jun 2020 02:01:25 +0000 Subject: [PATCH] Yet more debugging Trying to find how to thread stuff is harder than I thought it would be. Where's the root? --- brutaldon/threadtree.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/brutaldon/threadtree.py b/brutaldon/threadtree.py index eb12ab0..ae8e6e3 100644 --- a/brutaldon/threadtree.py +++ b/brutaldon/threadtree.py @@ -4,23 +4,22 @@ def maketree(descendants): lookup = dict((descendant.id, descendant) for descendant in descendants) replies = {} roots = set() + def getreps(id): + if id in replies: + reps = replies[id] + else: + reps = set() + replies[id] = reps + return reps for descendant in descendants: if not descendant.in_reply_to_id: roots.add(descendant.id) print("ROOT", descendant.id, descendant.account.id, descendant.account.acct) - elif descendant.in_reply_to_id in replies: - reps = replies[descendant.in_reply_to_id] - reps.add(descendant.id) - print("REPLY", descendant.id, - descendant.in_reply_to_id, - descendant.in_reply_to_account_id, - descendant.in_reply_to_id in lookup) else: - reps = set() - print("NEWREPLY", descendant.id, - descendant.in_reply_to_id, - descendant.in_reply_to_id in lookup) - replies[descendant.in_reply_to_id] = set([descendant.id]) + reps = getreps(descendant.in_reply_to_id) + reps.add(descendant.id) + reps = getreps(descendant.in_reply_to_account_id) + reps.add(descendant.id) seen = set() def onelevel(reps): for rep in reps: