The code in the FULL part could be changed to (analogue to the REF view part):
try: # FULL view parsing
auth = listify(info.get('ref-authors', {}).get('author', []))
authors = [', '.join(filter(None, [d.get('ce:surname'), d.get('ce:initials')]))
for d in auth]
But, then the try except logic does no longer work, but that could probably be changed to an if else block...
pybliometrics version: 3.4.0
Code to reproduce the bug:
Expected behavior: The Full view references do not always have authors.
https://github.com/pybliometrics-dev/pybliometrics/blob/425664963e068162fc9ef388bbf0512765217abd/pybliometrics/scopus/abstract_retrieval.py#L512-L520
The dict access for the author fails with a key error and it continues in the REF view part.
The Scopus Id is normally set after the authors.
But it is then never set correctly, as in the REF part this id is handled differently.
However, in the REF part the dict access is checked:
https://github.com/pybliometrics-dev/pybliometrics/blob/425664963e068162fc9ef388bbf0512765217abd/pybliometrics/scopus/abstract_retrieval.py#L521-L526
The code in the FULL part could be changed to (analogue to the REF view part):
But, then the try except logic does no longer work, but that could probably be changed to an if else block...