Fix entries names

This commit is contained in:
Phyks 2015-08-31 16:04:41 +02:00
parent a25f21f451
commit 851db96fa8
4 changed files with 18 additions and 18 deletions

14
bmc.py
View File

@ -220,7 +220,7 @@ def addFile(src, filetype, manual, autoconfirm, tag, rename=True):
# Remove first page of IOP papers # Remove first page of IOP papers
try: try:
if 'IOP' in bibtex['publisher'] and bibtex['entrytype'] == 'article': if 'IOP' in bibtex['publisher'] and bibtex['ENTRYTYPE'] == 'article':
tearpages.tearpage(new_name) tearpages.tearpage(new_name)
except (KeyError, shutil.Error, IOError): except (KeyError, shutil.Error, IOError):
pass pass
@ -282,7 +282,7 @@ def editEntry(entry, file_id='both'):
tools.warning("Unable to open index file.") tools.warning("Unable to open index file.")
return False return False
index[new_bibtex['id']] = new_bibtex index[new_bibtex['ID']] = new_bibtex
backend.bibtexRewrite(index) backend.bibtexRewrite(index)
return True return True
@ -334,7 +334,7 @@ def resync():
entry = diff[key] entry = diff[key]
if entry['file'] == '': if entry['file'] == '':
print("\nFound entry in index without associated file: " + print("\nFound entry in index without associated file: " +
entry['id']) entry['ID'])
print("Title:\t"+entry['title']) print("Title:\t"+entry['title'])
loop = True loop = True
while confirm: while confirm:
@ -370,19 +370,19 @@ def resync():
loop = (loop.lower() != 'y') loop = (loop.lower() != 'y')
continue continue
if filename == '': if filename == '':
backend.deleteId(entry['id']) backend.deleteId(entry['ID'])
print("Deleted entry \""+entry['id']+"\".") print("Deleted entry \""+entry['ID']+"\".")
else: else:
new_name = backend.getNewName(filename, entry) new_name = backend.getNewName(filename, entry)
try: try:
shutil.copy2(filename, new_name) shutil.copy2(filename, new_name)
print("Imported new file "+filename+" for entry " + print("Imported new file "+filename+" for entry " +
entry['id']+".") entry['ID']+".")
except shutil.Error: except shutil.Error:
new_name = False new_name = False
sys.exit("Unable to move file to library dir " + sys.exit("Unable to move file to library dir " +
config.get("folder")+".") config.get("folder")+".")
backend.bibtexEdit(entry['id'], {'file': filename}) backend.bibtexEdit(entry['ID'], {'file': filename})
else: else:
print("Found file without any associated entry in index:") print("Found file without any associated entry in index:")
print(entry['file']) print(entry['file'])

View File

@ -29,7 +29,7 @@ def getNewName(src, bibtex, tag='', override_format=None):
""" """
authors = re.split(' and ', bibtex['author']) authors = re.split(' and ', bibtex['author'])
if bibtex['entrytype'] == 'article': if bibtex['ENTRYTYPE'] == 'article':
if override_format is None: if override_format is None:
new_name = config.get("format_articles") new_name = config.get("format_articles")
else: else:
@ -38,7 +38,7 @@ def getNewName(src, bibtex, tag='', override_format=None):
new_name = new_name.replace("%j", bibtex['journal']) new_name = new_name.replace("%j", bibtex['journal'])
except KeyError: except KeyError:
pass pass
elif bibtex['entrytype'] == 'book': elif bibtex['ENTRYTYPE'] == 'book':
if override_format is None: if override_format is None:
new_name = config.get("format_books") new_name = config.get("format_books")
else: else:

View File

@ -82,7 +82,7 @@ Lattice},
def test_bibtexEdit(self): def test_bibtexEdit(self):
bibtexAppend(self.bibtex_article) bibtexAppend(self.bibtex_article)
bibtexEdit(self.bibtex_article['id'], {'id': 'bidule'}) bibtexEdit(self.bibtex_article['ID'], {'ID': 'bidule'})
with open(config.get("folder")+'index.bib', 'r') as fh: with open(config.get("folder")+'index.bib', 'r') as fh:
self.assertEqual(fh.read(), self.assertEqual(fh.read(),
'@article{bidule,\n\tabstract={We study the role of the dipolar interaction, correctly accounting for the\nDipolar-Induced Resonance (DIR), in a quasi-one-dimensional system of ultracold\nbosons. We first show how the DIR affects the lowest-energy states of two\nparticles in a harmonic trap. Then, we consider a deep optical lattice loaded\nwith ultracold dipolar bosons. We describe this many-body system using an\natom-dimer extended Bose-Hubbard model. We analyze the impact of the DIR on the\nphase diagram at T=0 by exact diagonalization of a small-sized system. In\nparticular, the resonance strongly modifies the range of parameters for which a\nmass density wave should occur.},\n\tarchiveprefix={arXiv},\n\tauthor={N. Bartolo and D. J. Papoular and L. Barbiero and C. Menotti and A. Recati},\n\teprint={1303.3130v1},\n\tfile={'+config.get("folder")+'N_Bartolo_A_Recati-j-2013.pdf},\n\tlink={http://arxiv.org/abs/1303.3130v1},\n\tmonth={Mar},\n\tprimaryclass={cond-mat.quant-gas},\n\ttag={},\n\ttitle={Dipolar-Induced Resonance for Ultracold Bosons in a Quasi-1D Optical\nLattice},\n\tyear={2013},\n}\n\n\n') '@article{bidule,\n\tabstract={We study the role of the dipolar interaction, correctly accounting for the\nDipolar-Induced Resonance (DIR), in a quasi-one-dimensional system of ultracold\nbosons. We first show how the DIR affects the lowest-energy states of two\nparticles in a harmonic trap. Then, we consider a deep optical lattice loaded\nwith ultracold dipolar bosons. We describe this many-body system using an\natom-dimer extended Bose-Hubbard model. We analyze the impact of the DIR on the\nphase diagram at T=0 by exact diagonalization of a small-sized system. In\nparticular, the resonance strongly modifies the range of parameters for which a\nmass density wave should occur.},\n\tarchiveprefix={arXiv},\n\tauthor={N. Bartolo and D. J. Papoular and L. Barbiero and C. Menotti and A. Recati},\n\teprint={1303.3130v1},\n\tfile={'+config.get("folder")+'N_Bartolo_A_Recati-j-2013.pdf},\n\tlink={http://arxiv.org/abs/1303.3130v1},\n\tmonth={Mar},\n\tprimaryclass={cond-mat.quant-gas},\n\ttag={},\n\ttitle={Dipolar-Induced Resonance for Ultracold Bosons in a Quasi-1D Optical\nLattice},\n\tyear={2013},\n}\n\n\n')
@ -98,7 +98,7 @@ Lattice},
self.bibtex_article['file'] = config.get("folder")+'test.pdf' self.bibtex_article['file'] = config.get("folder")+'test.pdf'
bibtexAppend(self.bibtex_article) bibtexAppend(self.bibtex_article)
open(config.get("folder")+'test.pdf', 'w').close() open(config.get("folder")+'test.pdf', 'w').close()
deleteId(self.bibtex_article['id']) deleteId(self.bibtex_article['ID'])
with open(config.get("folder")+'index.bib', 'r') as fh: with open(config.get("folder")+'index.bib', 'r') as fh:
self.assertEqual(fh.read().strip(), "") self.assertEqual(fh.read().strip(), "")
self.assertFalse(os.path.isfile(config.get("folder")+'test.pdf')) self.assertFalse(os.path.isfile(config.get("folder")+'test.pdf'))
@ -118,12 +118,12 @@ Lattice},
def test_getBibtex(self): def test_getBibtex(self):
bibtexAppend(self.bibtex_article) bibtexAppend(self.bibtex_article)
got = getBibtex(self.bibtex_article['id']) got = getBibtex(self.bibtex_article['ID'])
self.assertEqual(got, self.bibtex_article) self.assertEqual(got, self.bibtex_article)
def test_getBibtex_id(self): def test_getBibtex_id(self):
bibtexAppend(self.bibtex_article) bibtexAppend(self.bibtex_article)
got = getBibtex(self.bibtex_article['id'], file_id='id') got = getBibtex(self.bibtex_article['ID'], file_id='ID')
self.assertEqual(got, self.bibtex_article) self.assertEqual(got, self.bibtex_article)
def test_getBibtex_file(self): def test_getBibtex_file(self):
@ -134,16 +134,16 @@ Lattice},
self.assertEqual(got, self.bibtex_article) self.assertEqual(got, self.bibtex_article)
def test_getBibtex_clean(self): def test_getBibtex_clean(self):
config.set("ignore_fields", ['id', 'abstract']) config.set("ignore_fields", ['ID', 'abstract'])
bibtexAppend(self.bibtex_article) bibtexAppend(self.bibtex_article)
got = getBibtex(self.bibtex_article['id'], clean=True) got = getBibtex(self.bibtex_article['ID'], clean=True)
for i in config.get("ignore_fields"): for i in config.get("ignore_fields"):
self.assertNotIn(i, got) self.assertNotIn(i, got)
def test_getEntries(self): def test_getEntries(self):
bibtexAppend(self.bibtex_article) bibtexAppend(self.bibtex_article)
self.assertEqual(getEntries(), self.assertEqual(getEntries(),
[self.bibtex_article['id']]) [self.bibtex_article['ID']])
def test_updateArxiv(self): def test_updateArxiv(self):
# TODO # TODO

View File

@ -46,9 +46,9 @@ def slugify(value):
def parsed2Bibtex(parsed): def parsed2Bibtex(parsed):
"""Convert a single bibtex entry dict to bibtex string""" """Convert a single bibtex entry dict to bibtex string"""
bibtex = '@'+parsed['entrytype']+'{'+parsed['id']+",\n" bibtex = '@'+parsed['ENTRYTYPE']+'{'+parsed['ID']+",\n"
for field in [i for i in sorted(parsed) if i not in ['entrytype', 'id']]: for field in [i for i in sorted(parsed) if i not in ['ENTRYTYPE', 'ID']]:
bibtex += "\t"+field+"={"+parsed[field]+"},\n" bibtex += "\t"+field+"={"+parsed[field]+"},\n"
bibtex += "}\n\n" bibtex += "}\n\n"
return bibtex return bibtex