mirror of
https://github.com/iritmaximus/timetrials.git
synced 2026-10-12 19:13:48 +03:00
fix: added api/cup/cup_name so courses link work, as with games
previously
This commit is contained in:
@@ -19,7 +19,7 @@ table, tr, td {
|
||||
<tr>
|
||||
<td><a href="/courses/{{item[0].replace(' ', '%20')}}">{{item[0]}}</a></td>
|
||||
<td><a href="/api/game/{{item[1].replace(' ', '%20')}}">{{item[1]}}</a></td>
|
||||
<td><a href="/cups/{{item[2].replace(' ', '%20')}}">{{item[2]}}</a></td>
|
||||
<td><a href="/api/cup/{{item[2].replace(' ', '%20')}}">{{item[2]}}</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
@@ -7,6 +7,17 @@ def query_cups():
|
||||
return result
|
||||
|
||||
|
||||
def query_cup_by_name(cup_name: str):
|
||||
sql = """
|
||||
SELECT cups.id FROM cups WHERE cups.name=:cup_name
|
||||
"""
|
||||
result = db.session.execute(sql, {"cup_name": cup_name}).fetchone()
|
||||
if result:
|
||||
return result[0]
|
||||
else:
|
||||
raise ValueError(f"No cup with name {cup_name} found")
|
||||
|
||||
|
||||
def get_cup_name(id: int):
|
||||
sql = "SELECT name FROM cups WHERE id=:id"
|
||||
result = db.session.execute(sql, {"id": id}).fetchone()
|
||||
|
||||
+18
-2
@@ -1,6 +1,11 @@
|
||||
from flask import render_template
|
||||
from flask import render_template, redirect
|
||||
from flaskr import app
|
||||
from flaskr.utils.cups import query_cups, get_cup_name, get_all_times_in_cup
|
||||
from flaskr.utils.cups import (
|
||||
query_cups,
|
||||
get_cup_name,
|
||||
get_all_times_in_cup,
|
||||
query_cup_by_name,
|
||||
)
|
||||
|
||||
|
||||
@app.route("/cups")
|
||||
@@ -27,3 +32,14 @@ def get_cup_by_id(cup_id):
|
||||
)
|
||||
else:
|
||||
return render_template("cup_id.html", times_exist=False)
|
||||
|
||||
|
||||
@app.route("/api/cup/<string:cup_name>")
|
||||
def get_cup_by_name(cup_name: str):
|
||||
try:
|
||||
cup_name = str(cup_name).replace("%20", " ")
|
||||
cup_id = query_cup_by_name(cup_name)
|
||||
print(cup_id)
|
||||
return redirect(f"/cups/{cup_id}")
|
||||
except ValueError as e:
|
||||
return render_template("error.html", message=f"Error fetching the cup name {e}")
|
||||
|
||||
Reference in New Issue
Block a user