Closed emirkmo closed 2 years ago
Ok I found where it happens, this is because duplicate ISBN from books are not filtered for a bibm merge
Calls filter_field
which does not have the same ISBN duplicate separate DOI check as in the remove_duplicates
function from the same module, with the logic at:
I suggest separating the logic for checking ISBN duplicates that don't share a DOI (as in a book), and then calling that in filter_field
if the field argument is 'isbn'.
and the filter_field
function to modify:
https://github.com/pcubillos/bibmanager/blob/eaf1d351fb3f4de79c14bfd84c2223d74220e15c/bibmanager/bib_manager/bib_manager.py#L587-L628
Probably also should add a bibm merge to the tests that contains a duplicate ISBN with separate DOIs :)
Hi Emir, thanks a lot for the detailed report! Version 1.4.6 should fix this issue (pip is updated, conda should take a few hours to get up to date). Please take a look when you have time and let me know whether things are running ok.
Issue #89 resolved by PR #90 dealt with false duplicate detections, which was merged into version 1.3.4. I am running version 1.4.5 installed via conda-forge and I am running into the same issue.
Here is a false double detection. The ISBNs are the same, but the DOIs are different.
What's expected here is that bibmanager does not complain during a merge with these two entries, or other similar entries.
Note: This is possibly a DOI parsing issue as these DOIs have some Latex escape sequences in them.