From 0edf5c544f711c746dcd86c5a0927dfe75b99806 Mon Sep 17 00:00:00 2001 From: Topvennie Date: Mon, 30 Sep 2024 16:39:43 +0200 Subject: [PATCH] init --- .gitignore | 1 + main.py | 37 ++++++++++++++++++++++++++ templates/header.html | 15 +++++++++++ templates/index.html | 60 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 113 insertions(+) create mode 100644 .gitignore create mode 100644 main.py create mode 100644 templates/header.html create mode 100644 templates/index.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1d17dae --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.venv diff --git a/main.py b/main.py new file mode 100644 index 0000000..d39758b --- /dev/null +++ b/main.py @@ -0,0 +1,37 @@ +import requests +from flask import Flask, jsonify, render_template + +users = {"local_klink": "Francis"} + + +def get_data(): + res = requests.get("https://botbattle.be/api/leaderboard") + return res.json() + + +def filter_date(data): + data = sorted(data, key=lambda x: x["elo"], reverse=True) + filtered = list(filter(lambda x: x["username"] in users.keys(), data)) + [dict.update(item, position=index + 1, name=users[item["username"]]) for index, item in enumerate(filtered)] + return filtered + + +app = Flask(__name__) + + +@app.route("/") +def index(): + data = get_data() + filtered = filter_date(data) + return render_template("index.html", data=filtered) + + +@app.route("/leaderboard") +def leaderboard(): + data = get_data() + filtered = filter_date(data) + return jsonify(filtered) + + +if __name__ == "__main__": + app.run() diff --git a/templates/header.html b/templates/header.html new file mode 100644 index 0000000..ca9ff22 --- /dev/null +++ b/templates/header.html @@ -0,0 +1,15 @@ + + + + + + + Ceneka leaderboard + + + {% block content %} {% endblock %} + + diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..a5e54d7 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,60 @@ +{% extends "header.html" %} {% block content %} +
+

Leaderboard

+
+ + + + + + + + + + + {% for row in data %} + + + + + + + {% endfor %} + +
PositionNameEloUsername
{{ row['position'] }}{{ row['name'] }}{{ row['elo'] }}{{ row['username'] }}
+ + + +{% endblock %}