From 6ae6937c49bdf3d70cf7308a52e7425f32981bbe Mon Sep 17 00:00:00 2001 From: alfrix Date: Sat, 26 Nov 2022 15:07:04 -0300 Subject: [PATCH] format the connection error --- ks_includes/KlippyRest.py | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/ks_includes/KlippyRest.py b/ks_includes/KlippyRest.py index ea7e150c..b70d6234 100644 --- a/ks_includes/KlippyRest.py +++ b/ks_includes/KlippyRest.py @@ -1,5 +1,5 @@ import logging - +import re import requests @@ -45,19 +45,34 @@ class KlippyRest: else: data = response.content except requests.exceptions.HTTPError as h: - self.status = h + self.status = self.format_status(h) except requests.exceptions.ConnectionError as c: - self.status = c + self.status = self.format_status(c) except requests.exceptions.Timeout as t: - self.status = t + self.status = self.format_status(t) except requests.exceptions.JSONDecodeError as j: - self.status = j + self.status = self.format_status(j) except requests.exceptions.RequestException as r: - self.status = r + self.status = self.format_status(r) except Exception as e: - self.status = e + self.status = self.format_status(e) if data: self.status = '' else: logging.error(self.status) return data + + @staticmethod + def format_status(status): + try: + rep = {"HTTPConnectionPool": "", "/server/info ": "", "Caused by ": "", "(": "", ")": "", ": ": "\n"} + rep = {re.escape(k): v for k, v in rep.items()} + pattern = re.compile("|".join(rep.keys())) + err = "" + for _ in pattern.sub(lambda m: rep[re.escape(m.group(0))], f"{status}").split("\n"): + if not _ or "urllib3" in _ or _ == "": + continue + err += _ + "\n" + return err + except TypeError or KeyError: + return status