fix: added api/cup/cup_name so courses link work, as with games

previously
This commit is contained in:
iritmaximus
2023-03-04 14:21:14 +02:00
parent e41796237a
commit 80d3a882de
3 changed files with 30 additions and 3 deletions
+1 -1
View File
@@ -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 %}
+11
View File
@@ -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
View File
@@ -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}")