diff --git a/app/app.py b/app/app.py index 04b3add..7fcceb0 100644 --- a/app/app.py +++ b/app/app.py @@ -18,6 +18,17 @@ app = Flask( static_url_path='' ) +"in case we put a trailing slash at the end of the route's uri" +app.url_map.strict_slashes = False + +@app.before_request +def clear_trailing(): + from flask import redirect, request + + rp = request.path + if rp != '/' and rp.endswith('/'): + return redirect(rp[:-1]) + @app.errorhandler(404) def page_not_found(e): diff --git a/app/routes.py b/app/routes.py index 2a11a8b..8bf837e 100644 --- a/app/routes.py +++ b/app/routes.py @@ -12,9 +12,9 @@ There are two types of routes, first the 'static' routes : Then the 'dynamic' (calculated) routes : - /actes -- /actes/ -- /actes// -- /acte/// +- /actes/, sample: /actes/Anjou +- /actes//, sample: /actes/Anjou/isa_i +- /acte///, sample: /acte/Anjou/Isabelle_i/1441_08_05a - /geoloc """ @@ -56,7 +56,7 @@ def corpora_all(): return render_template("corpora_all.html", houses=houses) -@main.route("/actes/") # dont put a slash at the end +@main.route("/actes/") def actes(house): """*actes* route, sample route: '/actes/Bourbon' or '/actes/Berry' @@ -78,7 +78,7 @@ def actes(house): return render_template("corpus.html", house=house.capitalize(), princes=princes) -@main.route("/actes//") # don't put a slash at the end +@main.route("/actes//") def prince_corpus(house=None, prince=None): """copora prince, *timeline* view @@ -117,7 +117,7 @@ def prince_corpus(house=None, prince=None): return render_template("prince_corpus.html", house=house, duke_name=prince_long_name, prince_code=prince_code.capitalize(), actes=transformed_query) -@main.route("/acte///") # don't put a slash at the end +@main.route("/acte///") def acte(house=None, prince=None, dateitem=None): """specific prince's acte view