lab-website-template
lab-website-template copied to clipboard
Ignore manubot cite errors when source is from a metasource?
When trying to update our articles by Auto Cite I see the error below:
Run python ./auto-cite/auto-cite.py
WARNING
Generating csl_item for 'eid:2-s2.0-85041428367' failed due to a NotImplementedError: Manubot does not know how to generate a csl_item for 'eid:2-s2.0-85041428367' COMPILING LIST OF SOURCES TO CITE RUNNING ORCID PLUGIN (...) Source 20 of 36 - eid:2-s2.0-85041428367 Using Manubot to generate new citation Couldn't parse Manubot response Error: Process completed with exit code 1.
I understand the error is related to Manubot not recognizing "eid" citations, however these are not from my quote list and apparently are from another user using the bot (if I understand correctly).
How can I solve this problem?
This is under the purview of Manubot (and will likely get transferred there if it is a valid issue), but I will try to help.
I tried running Manubot (with a fresh/upgraded install) on this citation, and it does not understand the identifier prefix eid:
manubot cite eid:2-s2.0-85041428367
Generating csl_item for 'eid:2-s2.0-85041428367' failed due to a NotImplementedError:
Manubot does not know how to generate a csl_item for 'eid:2-s2.0-85041428367'
You can see what prefixes Manubot supports in this file of its source code:
https://github.com/manubot/manubot/blob/main/manubot/cite/handlers.py
There is civic.eid and egid, but not eid.
however these are not from my quote list and apparently are from another user using the bot
Where did you see this identifier being used? For a statement like this, please provide a link or reference so we can help you.
Okay I took a look at your failed github actions workflow run here: https://github.com/LaBiOmicS/labiomics.github.io/runs/7062873948?check_suite_focus=true
It seems like the eid reference is getting generated from the ORCID plugin. Maybe this is what you were referring to when you said "another user using the bot"?
It looks like these are the types of identifiers that the ORCID api (and thus the ORCID plugin in this template) might output, not all of which are supported by Manubot:
https://github.com/ORCID/orcid-model/blob/578cd716cb7222f9a7adfbfdd8a8c94aad254b7e/src/main/java/org/orcid/jaxb/model/message/WorkExternalIdentifierType.java
Hi,
So I believe the real issue/question here is regarding throwing errors when Manubot can't cite something.
Currently, if Manubot fails to cite something, I throw an error and stop the process, because I figured that this is something that the user would definitely want to know about. It usually means that the user has entered a invalid paper id or something.
However in the case of ORCID, the user isn't directly generating the list of papers, ORCID is. And ORCID might be returning types of paper identifiers that Manubot doesn't know how to cite. Should I still throw an error in this case? Probably not.
I've renamed this issue accordingly. I think I'll change the behavior to letting cite errors pass only if it is a metasource like ORCID.