2021-05-05 08:50:54 +00:00
|
|
|
from datetime import datetime, timedelta
|
2020-09-16 18:32:16 +00:00
|
|
|
from os import path
|
2021-11-08 09:04:58 +00:00
|
|
|
from flask import render_template, Blueprint, request, session
|
2020-09-16 18:32:16 +00:00
|
|
|
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
|
2021-06-08 15:31:11 +00:00
|
|
|
from suchwow.utils.helpers import rw_cache, get_top_posters, get_top_posts
|
2020-09-16 18:32:16 +00:00
|
|
|
|
|
|
|
|
|
|
|
bp = Blueprint("leaderboard", "leaderboard")
|
|
|
|
|
2021-05-05 08:50:54 +00:00
|
|
|
@bp.route("/leaderboards/top_posters")
|
|
|
|
def top_posters():
|
2021-06-08 15:31:11 +00:00
|
|
|
top_posters = get_top_posters()
|
2020-09-16 18:32:16 +00:00
|
|
|
return render_template("leaderboard.html", posters=top_posters)
|
2021-05-05 08:50:54 +00:00
|
|
|
|
|
|
|
@bp.route("/leaderboards/top_posts")
|
|
|
|
def top_posts():
|
|
|
|
days = request.args.get('days', 1)
|
|
|
|
try:
|
|
|
|
days = int(days)
|
|
|
|
except:
|
|
|
|
days = 1
|
|
|
|
|
2021-12-27 08:34:21 +00:00
|
|
|
if days not in [1, 3, 7, 30, 9999]:
|
2021-05-05 08:50:54 +00:00
|
|
|
days = 7
|
|
|
|
|
2021-06-08 15:31:11 +00:00
|
|
|
posts = get_top_posts(days)
|
2021-05-05 08:50:54 +00:00
|
|
|
return render_template("post/top.html", posts=posts, days=days)
|