From 7909523ea4c9df4472ac5f7dea2eced1cbd781d3 Mon Sep 17 00:00:00 2001 From: Klaus Thoden Date: Thu, 18 Oct 2018 10:04:07 +0200 Subject: [PATCH] Using if statements rather than exception handling --- bib_add_keyword.py | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/bib_add_keyword.py b/bib_add_keyword.py index 8b532e5..a54bd07 100644 --- a/bib_add_keyword.py +++ b/bib_add_keyword.py @@ -20,24 +20,22 @@ def add_keyword(entry, keyword): """Add keyword to bibtex entry""" - try: - entry_keyword = entry["keyword"] - # bibtex parser uses keyword rather than keywords, we correct this here - if entry["keyword"]: - entry["keywords"] = entry["keyword"] - entry.pop("keyword") - except KeyError as err: - logging.info("No %s found", err) - try: + if "keyword" in entry: + entry["keywords"] = entry["keyword"] + entry.pop("keyword") + else: + logging.info("No keyword found.") + pass + + if "keywords" in entry: entry_keywords = entry["keywords"] all_keywords = [x.strip() for x in entry_keywords.split(",")] - # print(all_keywords) if keyword in all_keywords: logging.info("Keyword %s already in.", keyword) else: logging.info("Adding keyword '%s'.", keyword) entry["keywords"] = entry_keywords + "," + keyword - except KeyError as err: + else: logging.info("Found no keywords, adding '%s'.", keyword) entry["keywords"] = keyword @@ -82,7 +80,6 @@ def main(): logging.debug("Added keywords to entries and wrote %s.", bibfile_path) # def main ends here - if __name__ == '__main__': main() # finis