From c42231907dc5d879f98d1cf4981a38aa219cf0d9 Mon Sep 17 00:00:00 2001 From: julius Date: Tue, 11 Mar 2025 12:37:16 +0100 Subject: [PATCH] feat: adjust Sociogram to new DB --- analysis.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/analysis.py b/analysis.py index 82fb3c9..87b96b4 100644 --- a/analysis.py +++ b/analysis.py @@ -108,8 +108,10 @@ def graph_json(): def sociogram_data(show: int | None = 2): G = nx.DiGraph() with Session(engine) as session: + players = {} for p in session.exec(select(P)).fetchall(): - G.add_node(p.name) + G.add_node(p.display_name) + players[p.id] = p.display_name subquery = ( select(C.user, func.max(C.time).label("latest")).group_by(C.user).subquery() ) @@ -120,10 +122,12 @@ def sociogram_data(show: int | None = 2): ) for c in session.exec(statement2): if show >= 1: - for i, p in enumerate(c.love): + for i, p_id in enumerate(c.love): + p = players[p_id] G.add_edge(c.user, p, group="love", rank=i, popularity=1 - 0.08 * i) if show <= 1: - for i, p in enumerate(c.hate): + for i, p_id in enumerate(c.hate): + p = players[p_id] G.add_edge(c.user, p, group="hate", rank=8, popularity=-0.16) return G