diff options
-rw-r--r-- | wqflask/wqflask/templates/publication.html | 82 | ||||
-rw-r--r-- | wqflask/wqflask/views.py | 13 |
2 files changed, 95 insertions, 0 deletions
diff --git a/wqflask/wqflask/templates/publication.html b/wqflask/wqflask/templates/publication.html new file mode 100644 index 00000000..d0f6633e --- /dev/null +++ b/wqflask/wqflask/templates/publication.html @@ -0,0 +1,82 @@ +{% extends "base.html" %} + +{% block css %} +<style type="text/css"> + .page-header { + text-underline-offset: 0.5rem; + padding: 1em; + } + + .panel-metadata { + display: inline-block; + width: fit-content; + height: fit-content; + padding: 0; + } + + .panel-metadata dt { + color: green; + } + + .panel-metadata dt::after { + content: ":"; + } + +</style> +{% endblock %} + +{% block title %}Dataset: {{ name }}{% endblock %} + +{% block content %} + +<header class="page-header text-justify"> + <h1> + {% if metadata.title %} + <u>{{ metadata.title}}</u> + {% else %} + {{ name }} + {% endif %} + </h1> +</header> + +<div class="container"> + {% if metadata == {} %} + <p class="lead">We appreciate your interest, but unfortunately, we don't have any additional information available for: <strong>{{ name }}</strong>. If you have any other questions or need assistance with something else, please feel free to reach out to us.</p> + {% else %} + <div class="panel-about panel panel-info panel-metadata text-muted{{ float_p }}"> + <div class="panel-heading"><strong><span class="glyphicon glyphicon-info-sign aria-hidden=true"></span> Details</strong> </div> + <div class="panel-body"> + <dl class="dl-horizontal"> + {% if metadata.pubMedId %} + <dt>PUBMED</dt> + <dd> + <a href="{{ metadata.pubMedId }}" target="_blank">{{ metadata.pubMedId.split("/")[-1] }}</a> + </dd> + {% endif %} + {% if metadata.abstract %} <dt>Abstract</dt> <dd>{{ metadata.abstract}}</dd> {% endif %} + {% if metadata.month %} <dt>Month</dt> <dd>{{ metadata.month }}</dd> {% endif %} + {% if metadata.pages %} <dt>Pages</dt> <dd>{{ metadata.pages }}</dd> {% endif %} + {% if metadata.volume %} <dt>Volume</dt> <dd>{{ metadata.volume }}</dd> {% endif %} + </dl> + </div> + </div> + {% if metadata.phenotypeOfPublication %} + <div class="container"> + <h2>Related Phenotypes:</h2> + <table class="table"> + {% for link in metadata.phenotypeOfPublication %} + <tr> + <td> + <a href="{{ link }}" target="_blank">{{ link }}</a> + </td> + </tr> + {% endfor %} + </table> + + </div> + {% endif %} + {% endif %} + +</div> + +{% endblock %} diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py index 895ad0cb..d980e5e3 100644 --- a/wqflask/wqflask/views.py +++ b/wqflask/wqflask/views.py @@ -1118,3 +1118,16 @@ def get_dataset(name): metadata=metadata, float_p=float_p ) + + +@app.route("/publication/<name>", methods=('GET',)) +def get_publication(name): + metadata = requests.get( + urljoin( + GN3_LOCAL_URL, + f"/api/metadata/publication/{name}") + ).json() + return render_template( + "publication.html", + metadata=metadata, + ) |