From fc19b1a23e404483dfac3f94c58416ffc1f776e0 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Fri, 11 Nov 2022 17:00:56 +0200 Subject: [PATCH] make the block number accurate for holes with stealth mode --- files/classes/sub.py | 5 +++-- files/routes/subs.py | 3 ++- files/templates/sub/subs.html | 6 +++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/files/classes/sub.py b/files/classes/sub.py index 888e0b904..0e79a586b 100644 --- a/files/classes/sub.py +++ b/files/classes/sub.py @@ -26,6 +26,7 @@ class Sub(Base): blocks = relationship("SubBlock", primaryjoin="SubBlock.sub==Sub.name") followers = relationship("SubSubscription", primaryjoin="SubSubscription.sub==Sub.name") + joins = relationship("SubJoin", lazy="dynamic", primaryjoin="SubJoin.sub==Sub.name") def __init__(self, *args, **kwargs): if "created_utc" not in kwargs: kwargs["created_utc"] = int(time.time()) @@ -54,8 +55,8 @@ class Sub(Base): @property @lazy - def subscription_num(self): - return self.subscriptions.count() + def join_num(self): + return self.joins.count() @property @lazy diff --git a/files/routes/subs.py b/files/routes/subs.py index 472e6586e..0d449d799 100644 --- a/files/routes/subs.py +++ b/files/routes/subs.py @@ -553,7 +553,8 @@ def sub_marsey(v, sub): @auth_required def subs(v): subs = g.db.query(Sub, func.count(Submission.sub)).outerjoin(Submission, Sub.name == Submission.sub).group_by(Sub.name).order_by(func.count(Submission.sub).desc()).all() - return render_template('sub/subs.html', v=v, subs=subs) + total_users = g.db.query(User).count() + return render_template('sub/subs.html', v=v, subs=subs, total_users=total_users) @app.post("/hole_pin/") @is_not_permabanned diff --git a/files/templates/sub/subs.html b/files/templates/sub/subs.html index abab4d5ed..5248993a9 100644 --- a/files/templates/sub/subs.html +++ b/files/templates/sub/subs.html @@ -20,7 +20,11 @@ {{sub}} {% if sub.name in v.all_blocks %}[blocked, visit it to unblock it]{% endif %} {{count}} {{sub.follow_num}} - {{sub.block_num}} + {% if sub.stealth %} + {{total_users - sub.join_num}} + {% else %} + {{sub.block_num}} + {% endif %} {% endfor %}