def parse_logs()

in src/modules/log_parser.py [0:0]


    def parse_logs(self) -> None:
        """
        Parses the logs based on the provided parameters.
        """
        try:
            start_dt = datetime.strptime(self.start_time, "%Y-%m-%d %H:%M:%S")
            end_dt = datetime.strptime(self.end_time, "%Y-%m-%d %H:%M:%S")

            with open(self.log_file, "r", encoding="utf-8") as file:
                for line in file:
                    try:
                        if self.ansible_os_family == "REDHAT":
                            log_time = datetime.strptime(
                                " ".join(line.split()[:3]), "%b %d %H:%M:%S"
                            )
                            log_time = log_time.replace(year=start_dt.year)
                        elif self.ansible_os_family == "SUSE":
                            log_time = datetime.strptime(line.split(".")[0], "%Y-%m-%dT%H:%M:%S")
                        else:
                            continue

                        if start_dt <= log_time <= end_dt and any(
                            keyword in line for keyword in self.keywords
                        ):
                            self.result["filtered_logs"].append(
                                line.translate(str.maketrans({"\\": "", '"': "", "'": ""}))
                            )
                    except ValueError:
                        continue

            self.result.update(
                {
                    "filtered_logs": json.dumps(self.result["filtered_logs"]),
                    "status": TestStatus.SUCCESS.value,
                }
            )
        except FileNotFoundError as ex:
            self.handle_error(ex)
        except Exception as ex:
            self.handle_error(ex)