diff options
-rw-r--r-- | python/fatcat/routes.py | 4 | ||||
-rw-r--r-- | python/fatcat/templates/container_view.html | 26 | ||||
-rw-r--r-- | python/fatcat/templates/creator_view.html | 21 | ||||
-rw-r--r-- | python/fatcat/templates/file_view.html | 41 | ||||
-rw-r--r-- | python/fatcat/templates/home.html | 15 | ||||
-rw-r--r-- | python/fatcat/templates/release_view.html | 80 | ||||
-rw-r--r-- | python/fatcat/templates/work_view.html | 36 |
7 files changed, 169 insertions, 54 deletions
diff --git a/python/fatcat/routes.py b/python/fatcat/routes.py index a3d4d4ee..ad5c868c 100644 --- a/python/fatcat/routes.py +++ b/python/fatcat/routes.py @@ -68,7 +68,9 @@ def release_view(ident): entity = api.get_release(str(ident)) except ApiException as ae: abort(ae.status) - return render_template('release_view.html', release=entity) + authors = [c for c in entity.contribs if c.role in ('author', None)] + authors = sorted(authors, key=lambda c: c.index) + return render_template('release_view.html', release=entity, authors=authors) @app.route('/release/random', methods=['GET']) def release_random(): diff --git a/python/fatcat/templates/container_view.html b/python/fatcat/templates/container_view.html index 483886b5..6c5e5581 100644 --- a/python/fatcat/templates/container_view.html +++ b/python/fatcat/templates/container_view.html @@ -1,14 +1,26 @@ {% extends "base.html" %} {% block body %} -<h1>Container: {{ container.name }}</h1> +<h1>{{ container.name }}</h1> -<p>ID: {{ container.id }} -<p>ISSN: {{ container.issn }} -<p>Publisher: {{ container.publisher }} +<p><b>Publisher:</b> {{ container.publisher }} +<p><b>ISSN-L<sup><a href="https://en.wikipedia.org/wiki/International_Standard_Serial_Number#Linking_ISSN">?</a></sup></b>: + <code>{{ container.issnl }}</code> +{% if container.coden != None %} +<p><b>CODEN<sup><a href="https://en.wikipedia.org/wiki/CODEN">?</a></sup>:</b> <code>{{ container.coden }}</code> +{% endif %} +{% if container.abbrev != None %} +<p><b>Abbreviation:</b> <code>{{ container.abbrev }}</code> +{% endif %} +<p><b>fatcat Container Identifier:</b> <code>{{ container.ident }}</code> (revision #{{ container.revision }}, {{ container.state }}) +{% if container.extra != None %} +<p><b>Additional Metadata (raw JSON):</b> +<pre>{{ container.extra }}</pre> +{% endif %} -<p>TODO: - -<pre>{{ container }}</pre> +<!-- +Raw JSON Object: +{{ container }} +--> {% endblock %} diff --git a/python/fatcat/templates/creator_view.html b/python/fatcat/templates/creator_view.html index f7be9f2c..210242aa 100644 --- a/python/fatcat/templates/creator_view.html +++ b/python/fatcat/templates/creator_view.html @@ -1,10 +1,25 @@ {% extends "base.html" %} {% block body %} -<h1>Creator: {{ creator.id }}</h1> +<h1>{{ creator.display_name }}</h1> -TODO: +<p><b>Given ("first") name:</b> {{ creator.given_name}} +<p><b>Sur ("family"/"last") name:</b> {{ creator.surname }} +<p><b>ORCID<sup><a href="https://en.wikipedia.org/wiki/Orcid">?</a></sup></b>: +{% if creator.orcid != None %} + <a href="https://orcid.org/{{creator.orcid}}"><code>{{ creator.orcid }}</code></a> +{% else %} + unknown +{% endif %} +<p><b>fatcat Creator Identifier:</b> <code>{{ creator.ident }}</code> (revision #{{ creator.revision }}, {{ creator.state }}) +{% if creator.extra != None %} +<p><b>Additional Metadata (raw JSON):</b> +<pre>{{ creator.extra }}</pre> +{% endif %} -<pre>{{ creator }}</pre> +<!-- +Raw JSON Object: +{{ creator }} +--> {% endblock %} diff --git a/python/fatcat/templates/file_view.html b/python/fatcat/templates/file_view.html index ff55e21c..f45c9238 100644 --- a/python/fatcat/templates/file_view.html +++ b/python/fatcat/templates/file_view.html @@ -1,10 +1,45 @@ {% extends "base.html" %} {% block body %} -<h1>File: {{ file.id }}</h1> +<h1>File {{ file.ident }}</h1> -TODO: +<p><b>Size:</b> {{ file.size }} (bytes) +<p><b>SHA-1 checksum:</b> <code>{{ file.sha1 }}</code> +{% if file.sha256 != None %} +<p><b>SHA-256 checksum:</b> <code>{{ file.sha256 }}</code> +{% endif %} +{% if file.md5 != None %} +<p><b>MD5 checksum:</b> <code>{{ file.md5 }}</code> +{% endif %} +<p><b>fatcat File Identifier:</b> <code>{{ file.ident }}</code> (revision #{{ file.revision }}, {{ file.state }}) +{% if file.extra != None %} +<p><b>Additional Metadata (raw JSON):</b> +<pre>{{ file.extra }}</pre> +{% endif %} -<pre>{{ file }}</pre> +<!-- +Raw JSON Object: +{{ file }} +--> + +{% if file.releases != None %} +<p>Releases associated with this file: +<ul> +{% for release_id in file.releases %} + <li><a href="/release/{{ release_id }}"><code>{{ release_id }}</code></a> +{% endfor %} +</ul> +{% else %} +This file is not associated with any fatcat release. +{% endif %} + +{% if file.url != None %} +<p>Known locations of this file: +<ul> + <li><a href="{{ file.url }}"><code>{{ file.url }}</code></a> +</ul> +{% else %} +No known public URL, mirror, or archive for this file. +{% endif %} {% endblock %} diff --git a/python/fatcat/templates/home.html b/python/fatcat/templates/home.html index 246c3a4d..47759126 100644 --- a/python/fatcat/templates/home.html +++ b/python/fatcat/templates/home.html @@ -16,19 +16,24 @@ indexing (aka, linking together of pre-prints and final copies). <table> <tr><td><b>Container</b> <td><a href="/container/create">Create</a> - <td><a href="/container/00000000-0000-0000-1111-000000000002">Example</a> + <td>Example <a href="/container/00000000-0000-0000-1111-000000000002">Fake</a> + <a href="/container/00000000-0000-0000-1111-000000000003">Real</a> <tr><td><b>Creator</b> <td><a href="/creator/create">Create</a> - <td><a href="/creator/00000000-0000-0000-2222-000000000002">Example</a> + <td>Example <a href="/creator/00000000-0000-0000-2222-000000000002">Fake</a> + <a href="/creator/00000000-0000-0000-2222-000000000003">Real</a> <tr><td><b>File</b> <td><a href="/file/create">Create</a> - <td><a href="/file/00000000-0000-0000-3333-000000000002">Example</a> + <td>Example <a href="/file/00000000-0000-0000-3333-000000000002">Fake</a> + <a href="/file/00000000-0000-0000-3333-000000000003">Real</a> <tr><td><b>Release</b> <td><a href="/release/create">Create</a> - <td><a href="/release/00000000-0000-0000-4444-000000000002">Example</a> + <td>Example <a href="/release/00000000-0000-0000-4444-000000000002">Fake</a> + <a href="/release/00000000-0000-0000-4444-000000000003">Real</a> <tr><td><b>Work</b> <td><a href="/work/create">Create</a> - <td><a href="/work/00000000-0000-0000-5555-000000000002">Example</a> + <td>Example <a href="/work/00000000-0000-0000-5555-000000000002">Fake</a> + <a href="/work/00000000-0000-0000-5555-000000000003">Real</a> </table> {% endblock %} diff --git a/python/fatcat/templates/release_view.html b/python/fatcat/templates/release_view.html index ee68161c..6572919e 100644 --- a/python/fatcat/templates/release_view.html +++ b/python/fatcat/templates/release_view.html @@ -2,30 +2,80 @@ {% block body %} <h1>{{ release.title }}</h1> +{% for contrib in authors %} + {% if contrib.creator_id %} + <a href="/creator/{{contrib.creator_id}}">{{ contrib.raw }}</a> + {% else %} + {{ contrib.raw }} + {% endif %} +{% endfor %} -<p>Release type: {{ release.type }} -<p><a href="/release/{{ release.id }}/history">History</a> -<p>Contributors: -{% for c in release.contributors %} {{ c.name }}; {% endfor %} - -<p>Title: {{ release.title }} -<p>Date: {{ release.date }} +<br><br> +<p><b>fatcat Work:</b> <a href="/work/{{ release.work_id }}"><code>{{ release.work_id }}</code></a> +{% if release.doi != None %} +<p><b>DOI:</b> <a href="https://doi.org/{{ release.doi }}"><code>{{ release.doi }}</code></a> +{% endif %} +{% if release.isbn13 != None %} +<p><b>ISBN-13:</b> <code>{{ release.isbn13 }}</code> (<a href="https://openlibrary.org/search?isbn={{ release.isbn13 }}">openlibrary.org</a>) +{% endif %} +{% if release.language != None %} +<p><b>Primary Language:</b> <code>{{ release.language }}</code> (<a href="https://www.loc.gov/standards/iso639-2/php/langcodes_name.php?iso_639_1={{ release.language }}">lookup ISO-639 code</a>) +{% endif %} +{% if release.volume != None %}<p><b>Volume:</b> {{ release.volume }}{% endif %} +{% if release.issue != None %}<p><b>Issue:</b> {{ release.issue }}{% endif %} +{% if release.pages != None %}<p><b>Pages:</b> {{ release.pages }}{% endif %} +{% if release.publisher != None %}<p><b>Publisher:</b> {{ release.publisher }}{% endif %} +{% if release.release_date != None %}<p><b>Date (published):</b> {{ release.release_date }}{% endif %} +{% if release.release_status != None %}<p><b>Publication Status:</b> {{ release.release_status }}{% endif %} +{% if release.release_type != None %}<p><b>Publication Type:</b> {{ release.release_type}}{% endif %} -{% if release.container %} -<p>Container: <a href="/container/{{ release.container.id }}">{{ release.container.title }}</a> +<p><b>fatcat Release Identifier:</b> <code>{{ release.ident }}</code> (revision #{{ release.revision }}, {{ release.state }}) +{% if release.extra != None %} +<p><b>Additional Metadata (raw JSON):</b> +<pre>{{ release.extra }}</pre> {% endif %} -{% if release.doi %} -<p>DOI: <a href="https://dx.doi.org/{{ release.doi }}">{{ release.doi }}</a> +<!-- +Raw JSON Object: +<pre>{{ release }}</pre> +--> + +<br> +{% if release.contribs.size != 0 %} +<p>Full list of contributors (not just authors): +<table> + <tr><th>Role + <th>Attribution Order + <th>Name + {% for contrib in release.contribs %} + <tr><td>{{ contrib.role or '' }} + <td>{{ contrib.index }} + {% if contrib.creator_id %} + <td><a href="/creator/{{contrib.creator_id}}">{{ contrib.raw }}</a> + {% else %} + <td>{{ contrib.raw }} + {% endif %} + {% endfor %} +</table> +{% else %} +<p>Contributors (authors, etc) not known. {% endif %} -{% if releases %} +<br> +{% if release.refs.size != 0 %} +<p>References (this work citing other works): <ul> -{% for r in releases %} - <ul><a href="/release/{{ r.id }}">{{ r.title }}</a> ({{ y.date }} - {{ y.release_type }}) -{% endfor %} + {% for ref in release.refs %} + <li>{{ ref.raw }} + {% if ref.target_release_id != None %} + (<a href="/release/{{ ref.target_release_id }}">fatcat release</a>) + {% endif %} + {% endfor %} </ul> {% else %} +<p>No reference list available. {% endif %} + + {% endblock %} diff --git a/python/fatcat/templates/work_view.html b/python/fatcat/templates/work_view.html index 8c5e955d..1a81d456 100644 --- a/python/fatcat/templates/work_view.html +++ b/python/fatcat/templates/work_view.html @@ -1,37 +1,33 @@ {% extends "base.html" %} {% block body %} -<h1>{{ work.title }}</h1> +<h1>Work {{ work.ident }}</h1> -<p>Work type: {{ work.type }} -<p><a href="/work/{{ work.id }}/history">History</a> -<p>Contributors: -{% for c in work.contributors %} {{ c.name }}; {% endfor %} - -{% if primary %} -<h2>Primary Release/Edition</h2> -<p>Title: {{ primary.title }} -<p>Date: {{ primary.date }} - -{% if primary.container %} -<p>Container: <a href="/container/{{ primary.container.id }}">{{ primary.container.title }}</a> +<p><b>fatcat Work Identifier:</b> <code>{{ work.ident }}</code> (revision #{{ work.revision }}, {{ work.state }}) +{% if work.extra != None %} +<p><b>Additional Metadata (raw JSON):</b> +<pre>{{ work.extra }}</pre> {% endif %} -{% if primary.doi %} -<p>DOI: <a href="https://dx.doi.org/{{ primary.doi }}">{{ primary.doi }}</a> -{% endif %} +<!-- +Raw JSON Object: +{{ work }} +--> -{% else %} -<p>No primary release -{% endif %} +<p>A "work" is just a linking identifier between a set of releases. For +example, a pre-print and a published article may contain small differences, but +still reference the same underlying "work". + +<br> {% if releases %} <ul> {% for r in releases %} - <ul><a href="/release/{{ r.id }}">{{ r.title }}</a> ({{ y.date }} - {{ y.release_type }}) + <ul><a href="/release/{{ r.ident }}">{{ r.title }}</a> ({{ y.release_type }} - {{ y.date }}) {% endfor %} </ul> {% else %} +<p>There are no known releases associated with this work. {% endif %} {% endblock %} |