From 2f94281f983f86b23f8e5bcdc790fd4e032a0a2d Mon Sep 17 00:00:00 2001 From: Thibaut Horel Date: Thu, 4 Feb 2016 21:44:18 -0500 Subject: Modernizing Python style --- BibTeX.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'BibTeX.py') diff --git a/BibTeX.py b/BibTeX.py index 6558ebd..4aee5e6 100644 --- a/BibTeX.py +++ b/BibTeX.py @@ -33,7 +33,7 @@ class BibTeX: if k.lower() in self.entries: print >> sys.stderr, "Already have an entry named %s" % k return - self.entries[k.lower()] = ent + self[k] = ent def __contains__(self, key): return key.lower() in self.entries @@ -41,6 +41,12 @@ class BibTeX: def __getitem__(self, key): return self.entries[key.lower()] + def __setitem__(self, key, v): + self.entries[key.lower()] = v + + def __delitem__(self, key): + del self.entries[key.lower()] + def __iter__(self): return iter(self.entries.values()) @@ -51,7 +57,7 @@ class BibTeX: seen.clear() while ent.get('crossref'): try: - cr = self.entries[ent['crossref'].lower()] + cr = self[ent['crossref']] except KeyError: print "No such crossref: %s" % ent['crossref'] break @@ -63,8 +69,8 @@ class BibTeX: if cr.entryLine < ent.entryLine: print "Warning: crossref %s used after declaration" % cr.key - for k in cr.entries.keys(): - if ent.entries.has_key(k): + for k in cr: + if k in ent: print "ERROR: %s defined both in %s and in %s" % ( k, ent.key, cr.key) else: @@ -78,9 +84,9 @@ class BibTeX: rk = "title" for ent in self: - if ent.type in config.OMIT_ENTRIES or not ent.has_key(rk): + if ent.type in config.OMIT_ENTRIES or rk not in ent: ent.check() - del self.entries[ent.key.lower()] + del self[ent.key] class FileIter: -- cgit v1.2.3-70-g09d2