from os import path from flask import render_template, Blueprint, request, session, flash from flask import send_from_directory, redirect, url_for, current_app from werkzeug.utils import secure_filename from suchwow import wownero from suchwow.models import Post bp = Blueprint("leaderboard", "leaderboard") @bp.route("/leaderboard") def leaderboard(): 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) return render_template("leaderboard.html", posters=top_posters)