From 178047b3a8795609f2eae21c1bd5848c9a0b43b6 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Tue, 12 Oct 2021 20:04:48 -0700 Subject: web: implement new schema changes --- python/fatcat_web/forms.py | 6 ++++-- python/fatcat_web/routes.py | 6 ++++-- python/fatcat_web/templates/container_view.html | 15 ++++++++++----- python/fatcat_web/templates/entity_macros.html | 11 ++++++++++- python/fatcat_web/templates/release_lookup.html | 13 +++++++++++++ python/fatcat_web/templates/release_view.html | 5 ++++- 6 files changed, 45 insertions(+), 11 deletions(-) diff --git a/python/fatcat_web/forms.py b/python/fatcat_web/forms.py index 19176a59..a856ef22 100644 --- a/python/fatcat_web/forms.py +++ b/python/fatcat_web/forms.py @@ -133,6 +133,8 @@ class ReleaseEntityForm(EntityEditForm): #core_id #arxiv_id #jstor_id + #oai + #hdl volume = StringField('Volume') issue = StringField('Issue') pages = StringField('Pages') @@ -226,8 +228,8 @@ container_type_options = ( ) CONTAINER_SIMPLE_ATTRS = ['name', 'container_type', 'publisher', 'issnl', - 'wikidata_qid'] -CONTAINER_EXTRA_ATTRS = ['issne', 'issnp', 'original_name', 'country'] + 'wikidata_qid', 'issne', 'issnp'] +CONTAINER_EXTRA_ATTRS = ['original_name', 'country'] class ContainerEntityForm(EntityEditForm): name = StringField('Name/Title', diff --git a/python/fatcat_web/routes.py b/python/fatcat_web/routes.py index ab060c45..71dadfa1 100644 --- a/python/fatcat_web/routes.py +++ b/python/fatcat_web/routes.py @@ -179,7 +179,7 @@ def release_lookup(): 'release', 'release_lookup.html', ('doi', 'wikidata_qid', 'pmid', 'pmcid', 'isbn13', 'jstor', 'arxiv', - 'core', 'ark', 'mag'), + 'core', 'ark', 'mag', 'oai', 'hdl'), lambda p: api.lookup_release(**p)) @app.route('/work/lookup', methods=['GET']) @@ -672,7 +672,9 @@ def release_save(ident): elif release.ext_ids.arxiv: form.base_url.data = "https://arxiv.org/pdf/{}.pdf".format(release.ext_ids.arxiv) elif release.ext_ids.pmcid: - form.base_url.data = "http://europepmc.org/backend/ptpmcrender.fcgi?accid={}&blobtype=pdf".format(release.ext_ids.pmcid) + form.base_url.data = "https://europepmc.org/backend/ptpmcrender.fcgi?accid={}&blobtype=pdf".format(release.ext_ids.pmcid) + elif release.ext_ids.hdl: + form.base_url.data = "https://hdl.handle.net/{}".format(release.ext_ids.hdl) return render_template('release_save.html', entity=release, form=form), 200 ### Search ################################################################## diff --git a/python/fatcat_web/templates/container_view.html b/python/fatcat_web/templates/container_view.html index 0d572c63..ddad07ae 100644 --- a/python/fatcat_web/templates/container_view.html +++ b/python/fatcat_web/templates/container_view.html @@ -88,17 +88,22 @@ {% endif %} {% endif %} -{% if container.issnl != None or container.wikidata_qid != None %} +
+ Type  {{ container.container_type or 'Unknown' }} + Status  {{ container.publication_status or 'Unknown' }} +
+ +{% if container.issnl != None or container.issne != None or container.issnp != None or container.wikidata_qid != None %}
{% if container.issnl != None %} ISSN-L?  {{ container.issnl }} {% endif %} - {% if container.extra != None and container.extra.issnp != None and (container.extra.issnp|length > 0) %} -
Print:  {{ container.extra.issnp }} + {% if container.issnp or (container.extra != None and container.extra.issnp != None and (container.extra.issnp|length > 0)) %} +
Print:  {{ container.issnp or container.extra.issnp }} {% endif %} - {% if container.extra != None and container.extra.issne != None and (container.extra.issne|length > 0) %} -
Electronic:  {{ container.extra.issne }} + {% if container.issne or (container.extra != None and container.extra.issne != None and (container.extra.issne|length > 0)) %} +
Electronic:  {{ container.issne or container.extra.issne }} {% endif %}
{% if container.wikidata_qid != None %} diff --git a/python/fatcat_web/templates/entity_macros.html b/python/fatcat_web/templates/entity_macros.html index 6b565f69..9ebff060 100644 --- a/python/fatcat_web/templates/entity_macros.html +++ b/python/fatcat_web/templates/entity_macros.html @@ -228,7 +228,7 @@ {% endif %} {# ### IDENTIFIERS #} - {% if paper.doi or paper.pmcid or paper.pmid or paper.arxiv_id or paper.jstor_id or paper.doaj_id or paper.dblp_id %} + {% if paper.doi or paper.pmcid or paper.pmid or paper.arxiv_id or paper.jstor_id or paper.doaj_id or paper.dblp_id or paper.hdl %}
{% endif %} {% if paper.doi %} @@ -251,6 +251,9 @@ {% if paper.dblp_id %} dblp:{{ paper.dblp_id }}   {% endif %} + {% if paper.hdl %} + hdl:{{ paper.hdl}}   + {% endif %} {# WIP: elastic release work grouping searches
@@ -276,6 +279,9 @@ {% if entity.container_type %}  {{ entity.container_type }} {% endif %} + {% if entity.publication_status and entity.publication_status != "active" %} +  {{ entity.publication_status }} + {% endif %}
{% endmacro %} @@ -449,6 +455,9 @@ yellow {% if release.ext_ids.dblp %} dblp:{{ release.ext_ids.dblp }}  {% endif %} + {% if release.ext_ids.hdl %} + hdl:{{ release.ext_ids.hdl }}  + {% endif %} {% endmacro %} {# similar to the release_summary above, but for CSL-JSON #} diff --git a/python/fatcat_web/templates/release_lookup.html b/python/fatcat_web/templates/release_lookup.html index add8da93..a0ef3bb3 100644 --- a/python/fatcat_web/templates/release_lookup.html +++ b/python/fatcat_web/templates/release_lookup.html @@ -38,6 +38,9 @@ you don't know the version, you can append "v1" to get the first version. {% elif lookup_key == "wikidata_qid" %}

You can check if it is a real Wikidata entity by visiting: https://www.wikidata.org/wiki/{{ lookup_value }} +{% elif lookup_key == "hdl" %} +

You can check if it is a real Handle entity by visiting: +https://hdl.handle.net/{{ lookup_value }} {% endif %} {% endif %} @@ -119,6 +122,16 @@ releases must be versioned; if you don't know the version you can always lookup {{ entity_macros.lookup_form("release", "arxiv", "0706.0001v1 or math-GT/0309136v2", lookup_key, lookup_value, lookup_error) }}   Old and new style supported, but version always required for exact lookups. + +

+ +

Handle

+

Handle identifiers are registered under the +hierarchal handle.net system, maintained by CNRI. While technically all DOIs +are Handles, our system treats them as distinct identifiers. +{{ entity_macros.lookup_form("release", "hdl", "20.500.12690/RIN/IDDOAH/BTNH25", lookup_key, lookup_value, lookup_error) }} +  Only include the identifier itself +

diff --git a/python/fatcat_web/templates/release_view.html b/python/fatcat_web/templates/release_view.html index 4652f4a2..01769b1b 100644 --- a/python/fatcat_web/templates/release_view.html +++ b/python/fatcat_web/templates/release_view.html @@ -266,7 +266,7 @@ accessible version.
{% endif %} -{% if release.number or release.ext_ids.doi or release.ext_ids.pmid or release.ext_ids.pmcid or release.ext_ids.wikidata_qid or release.ext_ids.isbn13 or release.ext_ids.arxiv or release.ext_ids.jstor or release.ext_ids.ark or release.ext_ids.doaj or release.ext_ids.dblp %} +{% if release.number or release.ext_ids.doi or release.ext_ids.pmid or release.ext_ids.pmcid or release.ext_ids.wikidata_qid or release.ext_ids.isbn13 or release.ext_ids.arxiv or release.ext_ids.jstor or release.ext_ids.ark or release.ext_ids.doaj or release.ext_ids.dblp or release.ext_ids.hdl %}
{% if release.number %} Number  {{ release.number }}
@@ -301,6 +301,9 @@ accessible version. {% if release.ext_ids.dblp != None %} dblp  {{ release.ext_ids.dblp }}
{% endif %} +{% if release.ext_ids.hdl != None %} + Handle  {{ release.ext_ids.hdl }}
+{% endif %}
{% endif %} -- cgit v1.2.3