From ea711b6b426b0b46607f4d21dd8491163c07fcef Mon Sep 17 00:00:00 2001 From: Olivier Mangin Date: Wed, 25 Jul 2018 22:51:22 +0200 Subject: [PATCH] [Fix #87] Include citekey in message on bibtex decoding error from repository. Catches decoding error at databroker level to include citekey in message. Could be improved by a better exception class for BibDecodingError. --- pubs/databroker.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pubs/databroker.py b/pubs/databroker.py index d529c3e..97c1398 100644 --- a/pubs/databroker.py +++ b/pubs/databroker.py @@ -45,7 +45,11 @@ class DataBroker(object): def pull_bibentry(self, citekey): bibdata_raw = self.filebroker.pull_bibfile(citekey) - return self.endecoder.decode_bibdata(bibdata_raw) + try: + return self.endecoder.decode_bibdata(bibdata_raw) + except self.endecoder.BibDecodingError as e: + e.message = "Unable to decode bibtex for paper {}.".format(citekey) + raise e def push_metadata(self, citekey, metadata): metadata_raw = self.endecoder.encode_metadata(metadata)