From 7d90315279d02b0d02d566a2b84231986bc43e59 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Thu, 4 Apr 2019 12:24:46 -0700 Subject: more citation styles, and tests --- python/fatcat_web/routes.py | 2 ++ python/fatcat_web/templates/release_view.html | 3 +++ python/tests/web_citation_csl.py | 8 +++++++- 3 files changed, 12 insertions(+), 1 deletion(-) (limited to 'python') diff --git a/python/fatcat_web/routes.py b/python/fatcat_web/routes.py index 8e07aff0..32a1837d 100644 --- a/python/fatcat_web/routes.py +++ b/python/fatcat_web/routes.py @@ -570,6 +570,8 @@ def release_citeproc(ident): cite = citeproc_csl(csl, style, is_html) if is_html: return Response(cite) + elif style == "csl-json": + return jsonify(json.loads(cite)) else: return Response(cite, mimetype="text/plain") diff --git a/python/fatcat_web/templates/release_view.html b/python/fatcat_web/templates/release_view.html index ef77360f..ff044c49 100644 --- a/python/fatcat_web/templates/release_view.html +++ b/python/fatcat_web/templates/release_view.html @@ -415,6 +415,9 @@
BibTeX +
CSL-JSON +
MLA +
Harvard
{% endif %} diff --git a/python/tests/web_citation_csl.py b/python/tests/web_citation_csl.py index 1b6f34e1..ae9bca55 100644 --- a/python/tests/web_citation_csl.py +++ b/python/tests/web_citation_csl.py @@ -1,5 +1,4 @@ - import json import tempfile import pytest @@ -16,6 +15,13 @@ def test_release_bibtex(app): rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaam.bib') assert rv.status_code == 200 assert b'@article{' in rv.data + rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaam/citeproc?style=csl-json') + assert rv.status_code == 200 + # could also rv.get_json() here + json.loads(rv.data.decode('utf-8')) + rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaam/citeproc?style=modern-language-association') + assert rv.status_code == 200 + assert rv.data.decode('utf-8').startswith('Ioannidis. “Why Most Published Research Findings Are False”. 2.8 (2005)') # "dummy" demo entity rv = app.get('/release/aaaaaaaaaaaaarceaaaaaaaaai') -- cgit v1.2.3