Don't immediately exit on malformed arxiv id.
To be consistent with errors in other uses of `pubs add`, we only exit when the returned bibentry is None.
This commit is contained in:
parent
35f209a98a
commit
30f5f86c9d
25
pubs/apis.py
25
pubs/apis.py
@ -40,19 +40,20 @@ def arxiv2bibtex(arxiv_id):
|
||||
if 'title' not in entry:
|
||||
ui = get_ui()
|
||||
ui.error('malformed arXiv ID: {}'.format(arxiv_id))
|
||||
if 'arxiv_doi' in entry:
|
||||
return doi2bibtex(entry['arxiv_doi'])
|
||||
bibtex = None
|
||||
elif 'arxiv_doi' in entry:
|
||||
bibtex = doi2bibtex(entry['arxiv_doi'])
|
||||
else:
|
||||
# Create a bibentry from the metadata.
|
||||
bibtext = '@misc{{{},\n'.format(arxiv_id)
|
||||
bibtext += 'Author = {'
|
||||
bibtex = '@misc{{{},\n'.format(arxiv_id)
|
||||
bibtex += 'Author = {'
|
||||
for i, author in enumerate(entry['authors']):
|
||||
bibtext += author['name']
|
||||
bibtex += author['name']
|
||||
if i < len(entry['authors']) - 1:
|
||||
bibtext += ' and '
|
||||
bibtext += '},\n'
|
||||
bibtext += 'Title = {{{}}},\n'.format(entry['title'].strip('\n'))
|
||||
bibtext += 'Year = {{{}}},\n'.format(entry['published_parsed'].tm_year)
|
||||
bibtext += 'Eprint = {{arXiv:{}}},\n'.format(arxiv_id)
|
||||
bibtext += '}'
|
||||
return bibtext
|
||||
bibtex += ' and '
|
||||
bibtex += '},\n'
|
||||
bibtex += 'Title = {{{}}},\n'.format(entry['title'].strip('\n'))
|
||||
bibtex += 'Year = {{{}}},\n'.format(entry['published_parsed'].tm_year)
|
||||
bibtex += 'Eprint = {{arXiv:{}}},\n'.format(arxiv_id)
|
||||
bibtex += '}'
|
||||
return bibtex
|
||||
|
Loading…
x
Reference in New Issue
Block a user