Better handling of arXiv update

This commit is contained in:
Phyks 2014-05-18 21:22:39 +02:00
parent f1afbdd1ac
commit d81443385b
2 changed files with 11 additions and 6 deletions

View File

@ -138,7 +138,6 @@ Here are some sources of inspirations for this project :
A list of ideas and TODO. Don't hesitate to give feedback on the ones you really want or to propose your owns. A list of ideas and TODO. Don't hesitate to give feedback on the ones you really want or to propose your owns.
60. Check stored versions when updating arxiv papers
70. Export of bibtex 70. Export of bibtex
80. Search engine 80. Search engine
85. Anti-duplicate ? 85. Anti-duplicate ?

View File

@ -268,14 +268,20 @@ def updateArXiv(entry):
return False return False
arxiv_id = bibtex['eprint'] arxiv_id = bibtex['eprint']
last_bibtex = BibTexParser(fetcher.arXiv2Bib(re.sub(r'v\d+\Z', arxiv_id_no_v = re.sub(r'v\d+\Z', '', arxiv_id)
'', ids = set(arxiv_id)
arxiv_id)))
for entry in getEntries():
if('archiveprefix' not in bibtex or
'arXiv' not in bibtex['archiveprefix']):
continue
ids.add(bibtex['eprint'])
last_bibtex = BibTexParser(fetcher.arXiv2Bib(arxiv_id_no_v))
last_bibtex = last_bibtex.get_entry_dict() last_bibtex = last_bibtex.get_entry_dict()
last_bibtex = last_bibtex[last_bibtex.keys()[0]] last_bibtex = last_bibtex[last_bibtex.keys()[0]]
if last_bibtex['eprint'] != arxiv_id: if last_bibtex['eprint'] not in ids:
# TODO: Check that not already imported
return last_bibtex return last_bibtex
else: else:
return False return False