slacker 2.0

This commit is contained in:
SowinskiBraeden committed 2025-04-26 12:40:24 -07:00
1 parent 9eb4ffce7f
commit d56945a68f
13 files changed
+728 -554

No files matched your search

Regular → Executable
+21 -15
View File
@@ -1,28 +1,34 @@
#!/usr/bin/env python3
from flask import Flask, Response
from flask import render_template
import os
from flask import Flask
from flask import render_template, redirect, url_for
from typing import Dict, List
import json
app = Flask(__name__)
def root_dir():
return os.path.abspath(os.path.dirname(__file__))
def get_file(filename):
try:
src = os.path.join(root_dir(), filename)
return open(src).read()
except IOError as exc:
return str(exc)
@app.route("/", methods=["GET"])
def index() -> str:
return render_template("index.html")
@app.route("/boards/<boardID>", methods=["GET"])
def loadBoard(boardID: str) -> str:
path = os.path.join(root_dir(), f"boards/{boardID}.txt")
return Response(get_file(path), mimetype="text/plain")
leaderboard: Dict[str, List] = {}
try:
with open(f"boards/{boardID}.json", "r") as file:
leaderboard = json.load(file)
except FileNotFoundError:
return redirect(url_for('404'))
return render_template(
"board.html",
leaderboards=leaderboard["boards"],
title=leaderboard["title"],
updatedAt=leaderboard["updatedAt"]
)
@app.route("/404", methods=["GET"])
def notFound() -> str:
return render_template("not_found.html")
if __name__ == "__main__":
app.run(host="0.0.0.0")