diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2020-03-25 12:56:36 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2020-03-25 13:19:44 -0700 |
commit | ec15f162706da58c464b5c2b7b623920fcb96d7f (patch) | |
tree | 01981fe18cf79dcc2d38f3a2c94d469b48eb0249 /python/tests/transform_csl.py | |
parent | 40fd4863c3c68261119aaa5b8f53d6b9dfc7a4cd (diff) | |
download | fatcat-ec15f162706da58c464b5c2b7b623920fcb96d7f.tar.gz fatcat-ec15f162706da58c464b5c2b7b623920fcb96d7f.zip |
improve citeproc/CSL web interface
This tries to show the citeproc (bibtext, MLA, CSL-JSON) options for
more releases, and not show the links when they would break.
The primary motivation here is to work around two exceptions being
thrown in prod every day (according to sentry):
KeyError: 'role'
ValueError: CLS requries some surname (family name)
I'm guessing these are mostly coming from crawlers following the
citeproc links on release landing pages.
Diffstat (limited to 'python/tests/transform_csl.py')
-rw-r--r-- | python/tests/transform_csl.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/python/tests/transform_csl.py b/python/tests/transform_csl.py index 6f29cba7..15c64ce5 100644 --- a/python/tests/transform_csl.py +++ b/python/tests/transform_csl.py @@ -12,22 +12,22 @@ def test_csl_crossref(crossref_importer): # not a single line raw = json.loads(f.read()) r = crossref_importer.parse_record(raw) - # this work has some null contrib names; these should cause errors - with pytest.raises(ValueError): - release_to_csl(r) - with pytest.raises(ValueError): - csl = release_to_csl(r) - citeproc_csl(csl, 'csl-json') - # set with dummy so we can run other tests - for c in r.contribs: - if not c.raw_name: - c.raw_name = "dummy" csl = release_to_csl(r) citeproc_csl(csl, 'csl-json') citeproc_csl(csl, 'bibtex') citeproc_csl(csl, 'harvard1') citeproc_csl(csl, 'harvard1', html=True) + # check that with no author surnames, can't run + for c in r.contribs: + c.raw_name = None + c.surname = None + with pytest.raises(ValueError): + release_to_csl(r) + with pytest.raises(ValueError): + csl = release_to_csl(r) + citeproc_csl(csl, 'csl-json') + def test_csl_pubmed(crossref_importer): with open('tests/files/example_releases_pubmed19n0972.json', 'r') as f: # multiple single lines |