diff options
| author | Thibaut Horel <thibaut.horel@gmail.com> | 2016-02-04 21:49:36 -0500 |
|---|---|---|
| committer | Thibaut Horel <thibaut.horel@gmail.com> | 2016-02-04 21:49:36 -0500 |
| commit | e63154721bf377ec42f1d5de39b74c7d1e1ebb2d (patch) | |
| tree | 4694f9c84665763e509e0cf09c02f6b94bcc580d /entry.py | |
| parent | 2f94281f983f86b23f8e5bcdc790fd4e032a0a2d (diff) | |
| download | anonbib-e63154721bf377ec42f1d5de39b74c7d1e1ebb2d.tar.gz | |
entries --> fields (possible confusion with Bibtex.entries)
Diffstat (limited to 'entry.py')
| -rw-r--r-- | entry.py | 25 |
1 files changed, 14 insertions, 11 deletions
@@ -38,29 +38,32 @@ DISPLAYED_FIELDS = ['title', 'author', 'journal', 'booktitle', class BibTeXEntry: """A single BibTeX entry.""" - def __init__(self, type, key, entries): + def __init__(self, type, key, fields): self.type = type # What kind of entry is it? (@book,@injournal,etc) self.key = key # What key does it have? - self.entries = entries # Map from key to value. + self.fields = fields # Map from key to value. self.entryLine = 0 # Defined on this line number def get(self, k, v=None): - return self.entries.get(k, v) + return self.fields.get(k, v) def __contains__(self, k): - return k in self.entries + return k in self.fields def __getitem__(self, k): - return self.entries[k] + return self.fields[k] + + def __delitem__(self, k): + del self.fields[k] def __setitem__(self, k, v): - self.entries[k] = v + self.fields[k] = v def __str__(self): return self.format(70, 1) def __iter__(self): - return iter(self.entries.keys()) + return iter(self.fields.keys()) def getURL(self): """Return the best URL to use for this paper, or None.""" @@ -81,7 +84,7 @@ class BibTeXEntry: d = ["@%s{%s,\n" % (self.type, self.key)] if v: df = DISPLAYED_FIELDS[:] - for k in self.entries.keys(): + for k in self: if k not in df: df.append(k) else: @@ -89,7 +92,7 @@ class BibTeXEntry: for f in df: if f not in self: continue - v = self.entries[f] + v = self[f] if v.startswith("<span class='bad'>"): d.append("%%%%% ERROR: Missing field\n") d.append("%% %s = {?????},\n" % f) @@ -159,7 +162,7 @@ class BibTeXEntry: if self.get(field) is None or \ self.get(field).startswith("<span class='bad'>"): errs.append("ERROR: %s has no %s field" % (self.key, field)) - self.entries[field] = "<span class='bad'>%s:??</span>" % field + self[field] = "<span class='bad'>%s:??</span>" % field if self.type == 'inproceedings': if self.get("booktitle"): @@ -174,7 +177,7 @@ class BibTeXEntry: if self.get('title'): errs.append("ERROR: %s is a proceedings: it should have a booktitle, not a title." % self.key) - for field, value in self.entries.items(): + for field, value in self.fields.items(): if value.translate(ALLCHARS, PRINTINGCHARS): errs.append("ERROR: %s.%s has non-ASCII characters" % ( self.key, field)) |
