From 7f3c6e6d0b68b8bf67d82a83d77538ac902dccef Mon Sep 17 00:00:00 2001 From: SHANKAR_CHAVAN Date: Wed, 25 Mar 2026 00:39:17 +0530 Subject: [PATCH 1/2] Fix: prevent crash when appending to non-list JSON field --- src/llm.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/llm.py b/src/llm.py index 3621187..cd678d7 100644 --- a/src/llm.py +++ b/src/llm.py @@ -114,11 +114,13 @@ def add_response_to_json(self, field, value): if ";" in value: parsed_value = self.handle_plural_values(value) - if field in self._json.keys(): - self._json[field].append(parsed_value) - else: - self._json[field] = parsed_value - + if field in self._json: + if isinstance(self._json[field], list): + self._json[field].append(parsed_value) + else: + self._json[field] = [self._json[field], parsed_value] +else: + self._json[field] = parsed_value return def handle_plural_values(self, plural_value): From e3c0e0a39a10d094e1cd5e1ab2a422959379c17c Mon Sep 17 00:00:00 2001 From: SHANKAR_CHAVAN Date: Sat, 28 Mar 2026 17:06:35 +0530 Subject: [PATCH 2/2] feat: add structured logging and replace print() diagnostics --- src/logger.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/logger.py diff --git a/src/logger.py b/src/logger.py new file mode 100644 index 0000000..d8eab83 --- /dev/null +++ b/src/logger.py @@ -0,0 +1,25 @@ +import logging + + +def setup_logger(name: str): + """ + Sets up and returns a logger with the given name. + Avoids adding duplicate handlers if logger already exists. + """ + logger = logging.getLogger(name) + + if logger.handlers: + return logger + + logger.setLevel(logging.INFO) + + handler = logging.StreamHandler() + + formatter = logging.Formatter( + "%(asctime)s | %(levelname)s | %(name)s | %(message)s", + datefmt="%Y-%m-%d %H:%M:%S" + ) + handler.setFormatter(formatter) + logger.addHandler(handler) + + return logger \ No newline at end of file