diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2019-04-04 11:59:28 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2019-04-04 11:59:28 -0700 |
commit | 8409128c47a287ccdf4d5092f094648495367e5a (patch) | |
tree | 7f38aef8146de6cd3d58972ac9d42198615b8a9a /python | |
parent | 522e7dd363e60aa2c82d6ba222cdb7822045af3a (diff) | |
download | fatcat-8409128c47a287ccdf4d5092f094648495367e5a.tar.gz fatcat-8409128c47a287ccdf4d5092f094648495367e5a.zip |
link to BibTeX (and test this)
Diffstat (limited to 'python')
-rw-r--r-- | python/fatcat_web/templates/release_view.html | 13 | ||||
-rw-r--r-- | python/tests/web_citation_csl.py | 26 |
2 files changed, 38 insertions, 1 deletions
diff --git a/python/fatcat_web/templates/release_view.html b/python/fatcat_web/templates/release_view.html index fa157193..ef77360f 100644 --- a/python/fatcat_web/templates/release_view.html +++ b/python/fatcat_web/templates/release_view.html @@ -360,7 +360,6 @@ </div> {% endif %} - {% if release.extra.is_oa == True %} <div class="ui segment attached"> <b><i class="ui icon unlock alternate green"></i> Open Access</b> @@ -408,6 +407,18 @@ <br>grouping other versions (eg, pre-print) and variants of this release </div> +{# this restriction, for CSL-JSON generation, rules out almost everything #} +{% if release.contribs and release.contribs[0].creator_id %} +<div class="ui segment attached accordion"> + <div class="title" style="padding: 0px;"> + <i class="dropdown icon"></i><b>Cite This Release</b> + </div> + <div class="content"> + <a href="/release/{{ release.ident }}.bib">BibTeX</a> + </div> +</div> +{% endif %} + <div class="ui segment attached accordion"> <div class="title" style="padding: 0px;"><i class="dropdown icon"></i><b>Lookup Links</b></div> <div class="content"> diff --git a/python/tests/web_citation_csl.py b/python/tests/web_citation_csl.py new file mode 100644 index 00000000..1b6f34e1 --- /dev/null +++ b/python/tests/web_citation_csl.py @@ -0,0 +1,26 @@ + + +import json +import tempfile +import pytest +from fatcat_client.rest import ApiException +from fixtures import * + + +def test_release_bibtex(app): + + # "realistic" demo entity + rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaam') + assert rv.status_code == 200 + assert b'BibTeX' in rv.data + rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaam.bib') + assert rv.status_code == 200 + assert b'@article{' in rv.data + + # "dummy" demo entity + rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaai') + assert rv.status_code == 200 + assert not b'BibTeX' in rv.data + with pytest.raises(ValueError): + rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaai.bib') + |