diff options
author | BonfaceKilz | 2020-12-01 23:36:10 +0300 |
---|---|---|
committer | BonfaceKilz | 2020-12-01 23:36:10 +0300 |
commit | e75056aa81c9d66379a3b4823ded69f0781c5374 (patch) | |
tree | 55393356a1b5661c656311f3378ac4173e14d1ba | |
parent | 6a2fb6cced98d79cd1ccbe6490a59393486fdf92 (diff) | |
download | genenetwork2-e75056aa81c9d66379a3b4823ded69f0781c5374.tar.gz |
Fetch file from systempath when loading "/environments" route
* wqflask/wqflask/markdown_routes.py:
(render_markdown): Extend function to check whether "file_name" is to
be fetched remotely or locally in syspath.
(environments): Extend route to fetch from syspath if dependency file
exists there; otherwise fetch remotely from Github as a fallback.
-rw-r--r-- | wqflask/wqflask/markdown_routes.py | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/wqflask/wqflask/markdown_routes.py b/wqflask/wqflask/markdown_routes.py index e43b9860..59a465e7 100644 --- a/wqflask/wqflask/markdown_routes.py +++ b/wqflask/wqflask/markdown_routes.py @@ -18,16 +18,25 @@ policies_blueprint = Blueprint("policies_blueprint", __name__) facilities_blueprint = Blueprint("facilities_blueprint", __name__) -def render_markdown(file_name): +def render_markdown(file_name, is_remote_file=True): """Try to fetch the file name from Github and if that fails, try to look for it inside the file system """ github_url = ("https://raw.githubusercontent.com/" "genenetwork/gn-docs/master/") + if not is_remote_file: + text = "" + with open(file_name, "r", encoding="utf-8") as input_file: + text = input_file.read() + return markdown.markdown(text, + extensions=['tables']) + md_content = requests.get(f"{github_url}{file_name}") + if md_content.status_code == 200: + return markdown.markdown(md_content.content.decode("utf-8"), + extensions=['tables']) - return markdown.markdown(md_content.content.decode("utf-8"), extensions=['tables']) return (f"\nContent for {file_name} not available. " "Please check " "(here to see where content exists)" @@ -59,7 +68,21 @@ def references(): @environments_blueprint.route("/") def environments(): - return render_template("environment.html", rendered_markdown=render_markdown("general/environments/environments.md")), 200 + md_file = get_file_from_python_search_path("wqflask/DEPENDENCIES.md") + if md_file is not None: + return ( + render_template("environment.html", + rendered_markdown=render_markdown( + md_file, + is_remote_file=False)), + 200 + ) + # Fallback: Fetch file from server + return (render_template( + "environment.html", + rendered_markdown=render_markdown( + "general/environments/environments.md")), + 200) @links_blueprint.route("/") |