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): 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