diff --git a/WebHostLib/misc.py b/WebHostLib/misc.py index d7ac9508..ee85d3de 100644 --- a/WebHostLib/misc.py +++ b/WebHostLib/misc.py @@ -87,19 +87,22 @@ def start_playing(): @cache.cached() def game_info(game, lang): """Game Info Pages""" - theme = get_world_theme(game) - secure_game_name = secure_filename(game) - lang = secure_filename(lang) - document = render_markdown(os.path.join( - app.static_folder, "generated", "docs", - secure_game_name, f"{lang}_{secure_game_name}.md" - )) - return render_template( - "markdown_document.html", - title=f"{game} Guide", - html_from_markdown=document, - theme=theme, - ) + try: + theme = get_world_theme(game) + secure_game_name = secure_filename(game) + lang = secure_filename(lang) + document = render_markdown(os.path.join( + app.static_folder, "generated", "docs", + secure_game_name, f"{lang}_{secure_game_name}.md" + )) + return render_template( + "markdown_document.html", + title=f"{game} Guide", + html_from_markdown=document, + theme=theme, + ) + except FileNotFoundError: + return abort(404) @app.route('/games') @@ -112,19 +115,22 @@ def games(): @app.route('/tutorial//') @cache.cached() def tutorial(game: str, file: str): - theme = get_world_theme(game) - secure_game_name = secure_filename(game) - file = secure_filename(file) - document = render_markdown(os.path.join( - app.static_folder, "generated", "docs", - secure_game_name, file+".md" - )) - return render_template( - "markdown_document.html", - title=f"{game} Guide", - html_from_markdown=document, - theme=theme, - ) + try: + theme = get_world_theme(game) + secure_game_name = secure_filename(game) + file = secure_filename(file) + document = render_markdown(os.path.join( + app.static_folder, "generated", "docs", + secure_game_name, file+".md" + )) + return render_template( + "markdown_document.html", + title=f"{game} Guide", + html_from_markdown=document, + theme=theme, + ) + except FileNotFoundError: + return abort(404) @app.route('/tutorial/')