diff --git a/drama/classes/user.py b/drama/classes/user.py index ead1c7c41..8f253eb42 100644 --- a/drama/classes/user.py +++ b/drama/classes/user.py @@ -328,13 +328,11 @@ class User(Base, Stndrd, Age_times): @property @lazy def post_count(self): - return self.submissions.filter_by(is_banned=False, deleted_utc=0).count() @property @lazy def comment_count(self): - return self.comments.filter(Comment.parent_submission != None).filter_by(is_banned=False, deleted_utc=0).count() @property diff --git a/drama/routes/users.py b/drama/routes/users.py index adef266c0..2c4ad7720 100644 --- a/drama/routes/users.py +++ b/drama/routes/users.py @@ -45,12 +45,14 @@ def leaderboard(v): users = g.db.query(User).options(lazyload('*')) users1 = users.order_by(User.dramacoins.desc()).limit(25).all() users2 = users.order_by(User.stored_subscriber_count.desc()).limit(10).all() - users3 = counts() - return render_template("leaderboard.html", v=v, users1=users1, users2=users2, users3=users3) + users3, users4 = counts() + return render_template("leaderboard.html", v=v, users1=users1, users2=users2, users3=users3, users4=users4) @cache.memoize(timeout=86400) def counts(): - return sorted(g.db.query(User).options(lazyload('*')).all(), key=lambda x: x.post_count, reverse=True)[:10] + users3 = sorted(g.db.query(User).options(lazyload('*')).all(), key=lambda x: x.post_count, reverse=True)[:10] + users4 = sorted(g.db.query(User).options(lazyload('*')).all(), key=lambda x: x.comment_count, reverse=True)[:10] + return users3, users4 @app.get("/@/css") def get_css(username): diff --git a/drama/templates/leaderboard.html b/drama/templates/leaderboard.html index 98847ad2d..e4fd28008 100644 --- a/drama/templates/leaderboard.html +++ b/drama/templates/leaderboard.html @@ -75,5 +75,30 @@
 
 
+
+
Top 10 dramatards by comment count
+
+
+
+
+ + + + + + + + +{% for user in users3 %} + + + + + +{% endfor %} +
#NameComment count
{{users3.index(user)+1}}{{user.username}}{{user.comment_count}}
+
+
+
 
{% endblock %} \ No newline at end of file