slacker 2.0
This commit is contained in:
13 files changed
+728
-554
No files matched your search
Regular → Executable
+21
-15
@@ -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")
|
||||
Reference in new issue
Block a user