|
|
|
@ -13,19 +13,24 @@ bp = Blueprint("leaderboard", "leaderboard")
|
|
|
|
|
@bp.route("/leaderboards/top_posters")
|
|
|
|
|
def top_posters():
|
|
|
|
|
top_posters = {}
|
|
|
|
|
posts = Post.select().where(Post.approved==True)
|
|
|
|
|
for post in posts:
|
|
|
|
|
transfers = []
|
|
|
|
|
incoming = wownero.Wallet().incoming_transfers(post.account_index)
|
|
|
|
|
if "transfers" in incoming:
|
|
|
|
|
for xfer in incoming["transfers"]:
|
|
|
|
|
transfers.append(wownero.from_atomic(xfer["amount"]))
|
|
|
|
|
total = sum(transfers)
|
|
|
|
|
if post.submitter not in top_posters:
|
|
|
|
|
top_posters[post.submitter] = {"amount": 0, "posts": []}
|
|
|
|
|
|
|
|
|
|
top_posters[post.submitter]["amount"] += float(total)
|
|
|
|
|
top_posters[post.submitter]["posts"].append(post)
|
|
|
|
|
posts = rw_cache('top_posters')
|
|
|
|
|
if not posts:
|
|
|
|
|
posts = Post.select().where(Post.approved==True)
|
|
|
|
|
for post in posts:
|
|
|
|
|
transfers = []
|
|
|
|
|
incoming = wownero.Wallet().incoming_transfers(post.account_index)
|
|
|
|
|
if "transfers" in incoming:
|
|
|
|
|
for xfer in incoming["transfers"]:
|
|
|
|
|
transfers.append(wownero.from_atomic(xfer["amount"]))
|
|
|
|
|
total = sum(transfers)
|
|
|
|
|
if post.submitter not in top_posters:
|
|
|
|
|
top_posters[post.submitter] = {"amount": 0, "posts": []}
|
|
|
|
|
|
|
|
|
|
top_posters[post.submitter]["amount"] += float(total)
|
|
|
|
|
top_posters[post.submitter]["posts"].append(post)
|
|
|
|
|
rw_cache('top_posters', top_posters)
|
|
|
|
|
else:
|
|
|
|
|
top_posters = posts
|
|
|
|
|
|
|
|
|
|
return render_template("leaderboard.html", posters=top_posters)
|
|
|
|
|
|
|
|
|
|