From 4e703434b7a4ac0b47dcd48e9e6260bbc97ffbd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20Lipi=C5=84ski?= Date: Thu, 17 Dec 2020 10:50:26 +0100 Subject: [PATCH 01/14] Fix code for Python3 --- magicbus/plugins/loggers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/magicbus/plugins/loggers.py b/magicbus/plugins/loggers.py index 892f6f93..2536130a 100644 --- a/magicbus/plugins/loggers.py +++ b/magicbus/plugins/loggers.py @@ -2,7 +2,7 @@ import datetime import sys - +import six from magicbus.plugins import SimplePlugin @@ -30,7 +30,7 @@ def log(self, msg, level): if self.encoding is not None: if isinstance(complete_msg, str): complete_msg = complete_msg.encode(self.encoding) - + complete_msg = six.ensure_str(complete_msg) self.stream.write(complete_msg) self.stream.flush() From cb8634d4c4e6a90b3149a9c3ddf2c622ee90e1e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20Lipi=C5=84ski?= Date: Fri, 18 Dec 2020 13:08:32 +0100 Subject: [PATCH 02/14] Add six to required packages. --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index edad554d..f5c82a62 100644 --- a/setup.py +++ b/setup.py @@ -42,6 +42,7 @@ ), python_requires='>= 3.9', install_requires=[ + 'six', ], extras_require={ 'testing': [ From 36dc463129d791196ace98b17c895f8cf6addbfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20Lipi=C5=84ski?= Date: Fri, 18 Dec 2020 16:24:57 +0100 Subject: [PATCH 03/14] A better fix for python3 support --- magicbus/plugins/loggers.py | 13 +++++++------ setup.py | 1 - 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/magicbus/plugins/loggers.py b/magicbus/plugins/loggers.py index 2536130a..4ad90401 100644 --- a/magicbus/plugins/loggers.py +++ b/magicbus/plugins/loggers.py @@ -2,7 +2,6 @@ import datetime import sys -import six from magicbus.plugins import SimplePlugin @@ -10,7 +9,7 @@ class StreamLogger(SimplePlugin): default_format = '[%(timestamp)s] (Bus %(bus)s) %(message)s\n' - def __init__(self, bus, stream, level=None, format=None, encoding='utf-8'): + def __init__(self, bus, stream, level=None, format=None, encoding=None): SimplePlugin.__init__(self, bus) self.stream = stream self.level = level @@ -30,27 +29,29 @@ def log(self, msg, level): if self.encoding is not None: if isinstance(complete_msg, str): complete_msg = complete_msg.encode(self.encoding) - complete_msg = six.ensure_str(complete_msg) + else: + if not isinstance(complete_msg, unicodestr): + complete_msg = complete_msg.decode("utf-8") self.stream.write(complete_msg) self.stream.flush() class StdoutLogger(StreamLogger): - def __init__(self, bus, level=None, format=None, encoding='utf-8'): + def __init__(self, bus, level=None, format=None, encoding=None): StreamLogger.__init__(self, bus, sys.stdout, level, format, encoding) class StderrLogger(StreamLogger): - def __init__(self, bus, level=None, format=None, encoding='utf-8'): + def __init__(self, bus, level=None, format=None, encoding=None): StreamLogger.__init__(self, bus, sys.stderr, level, format, encoding) class FileLogger(StreamLogger): def __init__(self, bus, filename=None, file=None, - level=None, format=None, encoding='utf8'): + level=None, format=None, encoding=None): self.filename = filename if file is None: if filename is None: diff --git a/setup.py b/setup.py index f5c82a62..edad554d 100644 --- a/setup.py +++ b/setup.py @@ -42,7 +42,6 @@ ), python_requires='>= 3.9', install_requires=[ - 'six', ], extras_require={ 'testing': [ From b5761c3e8d2ce7fda3f04d8ed46bce380ccade0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20Lipi=C5=84ski?= Date: Thu, 28 Jan 2021 16:09:53 +0100 Subject: [PATCH 04/14] Revert changes for the StreamLogger and FileLogger --- magicbus/plugins/loggers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/magicbus/plugins/loggers.py b/magicbus/plugins/loggers.py index 4ad90401..2414c36d 100644 --- a/magicbus/plugins/loggers.py +++ b/magicbus/plugins/loggers.py @@ -9,7 +9,7 @@ class StreamLogger(SimplePlugin): default_format = '[%(timestamp)s] (Bus %(bus)s) %(message)s\n' - def __init__(self, bus, stream, level=None, format=None, encoding=None): + def __init__(self, bus, stream, level=None, format=None, encoding='utf8'): SimplePlugin.__init__(self, bus) self.stream = stream self.level = level @@ -51,7 +51,7 @@ def __init__(self, bus, level=None, format=None, encoding=None): class FileLogger(StreamLogger): def __init__(self, bus, filename=None, file=None, - level=None, format=None, encoding=None): + level=None, format=None, encoding='utf8'): self.filename = filename if file is None: if filename is None: From af96c8904d1f9863bd9d5d996908c64d1ce58936 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20Lipi=C5=84ski?= Date: Wed, 3 Feb 2021 10:20:08 +0100 Subject: [PATCH 05/14] Fix encoding name --- magicbus/plugins/loggers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/magicbus/plugins/loggers.py b/magicbus/plugins/loggers.py index 2414c36d..475674fc 100644 --- a/magicbus/plugins/loggers.py +++ b/magicbus/plugins/loggers.py @@ -9,7 +9,7 @@ class StreamLogger(SimplePlugin): default_format = '[%(timestamp)s] (Bus %(bus)s) %(message)s\n' - def __init__(self, bus, stream, level=None, format=None, encoding='utf8'): + def __init__(self, bus, stream, level=None, format=None, encoding='utf-8'): SimplePlugin.__init__(self, bus) self.stream = stream self.level = level @@ -51,7 +51,7 @@ def __init__(self, bus, level=None, format=None, encoding=None): class FileLogger(StreamLogger): def __init__(self, bus, filename=None, file=None, - level=None, format=None, encoding='utf8'): + level=None, format=None, encoding='utf-8'): self.filename = filename if file is None: if filename is None: From d7eec51da457c59c537ef77915d42aedf9cc569f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20Lipi=C5=84ski?= Date: Wed, 3 Feb 2021 10:36:39 +0100 Subject: [PATCH 06/14] Revert last changes to check tests --- magicbus/plugins/loggers.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/magicbus/plugins/loggers.py b/magicbus/plugins/loggers.py index 475674fc..f9836c22 100644 --- a/magicbus/plugins/loggers.py +++ b/magicbus/plugins/loggers.py @@ -29,29 +29,32 @@ def log(self, msg, level): if self.encoding is not None: if isinstance(complete_msg, str): complete_msg = complete_msg.encode(self.encoding) - else: - if not isinstance(complete_msg, unicodestr): - complete_msg = complete_msg.decode("utf-8") + # else: + # if not isinstance(complete_msg, unicodestr): + # complete_msg = complete_msg.decode("utf-8") self.stream.write(complete_msg) self.stream.flush() class StdoutLogger(StreamLogger): - def __init__(self, bus, level=None, format=None, encoding=None): + # def __init__(self, bus, level=None, format=None, encoding=None): + def __init__(self, bus, level=None, format=None, encoding="utf-8"): StreamLogger.__init__(self, bus, sys.stdout, level, format, encoding) class StderrLogger(StreamLogger): - def __init__(self, bus, level=None, format=None, encoding=None): + # def __init__(self, bus, level=None, format=None, encoding=None): + def __init__(self, bus, level=None, format=None, encoding='utf-8'): StreamLogger.__init__(self, bus, sys.stderr, level, format, encoding) class FileLogger(StreamLogger): def __init__(self, bus, filename=None, file=None, - level=None, format=None, encoding='utf-8'): + level=None, format=None, encoding='utf8'): + # level=None, format=None, encoding='utf-8'): self.filename = filename if file is None: if filename is None: From 0f5e96145e4cba763db35b70408b3cae016e38c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20Lipi=C5=84ski?= Date: Wed, 3 Feb 2021 10:49:57 +0100 Subject: [PATCH 07/14] Revert "Revert last changes to check tests" This reverts commit 28e9064247f91983968af3822cebe4b2a5a784bf. --- magicbus/plugins/loggers.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/magicbus/plugins/loggers.py b/magicbus/plugins/loggers.py index f9836c22..475674fc 100644 --- a/magicbus/plugins/loggers.py +++ b/magicbus/plugins/loggers.py @@ -29,32 +29,29 @@ def log(self, msg, level): if self.encoding is not None: if isinstance(complete_msg, str): complete_msg = complete_msg.encode(self.encoding) - # else: - # if not isinstance(complete_msg, unicodestr): - # complete_msg = complete_msg.decode("utf-8") + else: + if not isinstance(complete_msg, unicodestr): + complete_msg = complete_msg.decode("utf-8") self.stream.write(complete_msg) self.stream.flush() class StdoutLogger(StreamLogger): - # def __init__(self, bus, level=None, format=None, encoding=None): - def __init__(self, bus, level=None, format=None, encoding="utf-8"): + def __init__(self, bus, level=None, format=None, encoding=None): StreamLogger.__init__(self, bus, sys.stdout, level, format, encoding) class StderrLogger(StreamLogger): - # def __init__(self, bus, level=None, format=None, encoding=None): - def __init__(self, bus, level=None, format=None, encoding='utf-8'): + def __init__(self, bus, level=None, format=None, encoding=None): StreamLogger.__init__(self, bus, sys.stderr, level, format, encoding) class FileLogger(StreamLogger): def __init__(self, bus, filename=None, file=None, - level=None, format=None, encoding='utf8'): - # level=None, format=None, encoding='utf-8'): + level=None, format=None, encoding='utf-8'): self.filename = filename if file is None: if filename is None: From ba01eb3f250d92a56d9261d6875701e66d70a28f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20Lipi=C5=84ski?= Date: Wed, 3 Feb 2021 14:25:03 +0100 Subject: [PATCH 08/14] Fix loggers code --- magicbus/plugins/loggers.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/magicbus/plugins/loggers.py b/magicbus/plugins/loggers.py index 475674fc..9114b8fb 100644 --- a/magicbus/plugins/loggers.py +++ b/magicbus/plugins/loggers.py @@ -30,8 +30,10 @@ def log(self, msg, level): if isinstance(complete_msg, str): complete_msg = complete_msg.encode(self.encoding) else: - if not isinstance(complete_msg, unicodestr): - complete_msg = complete_msg.decode("utf-8") + if isinstance(complete_msg, unicodestr): + encoding = self.encoding or "utf-8" + complete_msg = complete_msg.encode(encoding, errors="backslashreplace") + self.stream.write(complete_msg) self.stream.flush() From 7307626aca6df6289d0ccd83a7fd893d68bad33e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20Lipi=C5=84ski?= Date: Wed, 3 Feb 2021 14:41:33 +0100 Subject: [PATCH 09/14] Fix loggers code --- magicbus/plugins/loggers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/magicbus/plugins/loggers.py b/magicbus/plugins/loggers.py index 9114b8fb..e7a1fa6d 100644 --- a/magicbus/plugins/loggers.py +++ b/magicbus/plugins/loggers.py @@ -30,7 +30,7 @@ def log(self, msg, level): if isinstance(complete_msg, str): complete_msg = complete_msg.encode(self.encoding) else: - if isinstance(complete_msg, unicodestr): + if isinstance(complete_msg, str): encoding = self.encoding or "utf-8" complete_msg = complete_msg.encode(encoding, errors="backslashreplace") From 0e79f0486f0c79e15c6b9c563b83690c094cce24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20Lipi=C5=84ski?= Date: Thu, 4 Feb 2021 16:47:40 +0100 Subject: [PATCH 10/14] Revert the last loggers changes --- magicbus/plugins/loggers.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/magicbus/plugins/loggers.py b/magicbus/plugins/loggers.py index e7a1fa6d..be8c3ec7 100644 --- a/magicbus/plugins/loggers.py +++ b/magicbus/plugins/loggers.py @@ -30,9 +30,8 @@ def log(self, msg, level): if isinstance(complete_msg, str): complete_msg = complete_msg.encode(self.encoding) else: - if isinstance(complete_msg, str): - encoding = self.encoding or "utf-8" - complete_msg = complete_msg.encode(encoding, errors="backslashreplace") + if isinstance(complete_msg, bytes): + complete_msg = complete_msg.decode("utf-8") self.stream.write(complete_msg) self.stream.flush() From 9f24f0f1e0b33c06f31cb5224bd3544c6e9b2e8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20Lipi=C5=84ski?= Date: Thu, 11 Feb 2021 16:51:40 +0100 Subject: [PATCH 11/14] clean code --- magicbus/plugins/loggers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/magicbus/plugins/loggers.py b/magicbus/plugins/loggers.py index be8c3ec7..04a7949c 100644 --- a/magicbus/plugins/loggers.py +++ b/magicbus/plugins/loggers.py @@ -2,6 +2,7 @@ import datetime import sys + from magicbus.plugins import SimplePlugin @@ -52,7 +53,7 @@ def __init__(self, bus, level=None, format=None, encoding=None): class FileLogger(StreamLogger): def __init__(self, bus, filename=None, file=None, - level=None, format=None, encoding='utf-8'): + level=None, format=None, encoding='utf8'): self.filename = filename if file is None: if filename is None: From adbb1a2fdb0c8bd1dca1d98f5a250369554c8a9b Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 16 Jun 2025 00:11:51 +0000 Subject: [PATCH 12/14] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- magicbus/plugins/loggers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/magicbus/plugins/loggers.py b/magicbus/plugins/loggers.py index 04a7949c..5db250a2 100644 --- a/magicbus/plugins/loggers.py +++ b/magicbus/plugins/loggers.py @@ -32,7 +32,7 @@ def log(self, msg, level): complete_msg = complete_msg.encode(self.encoding) else: if isinstance(complete_msg, bytes): - complete_msg = complete_msg.decode("utf-8") + complete_msg = complete_msg.decode('utf-8') self.stream.write(complete_msg) self.stream.flush() From 07eef00f35e46701338222d8c31155c4d3636c02 Mon Sep 17 00:00:00 2001 From: Sviatoslav Sydorenko Date: Mon, 16 Jun 2025 02:17:47 +0200 Subject: [PATCH 13/14] Only decode messages in case of `bytes` --- magicbus/plugins/loggers.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/magicbus/plugins/loggers.py b/magicbus/plugins/loggers.py index 5db250a2..23bc4564 100644 --- a/magicbus/plugins/loggers.py +++ b/magicbus/plugins/loggers.py @@ -27,12 +27,9 @@ def log(self, msg, level): } complete_msg = self.format % params - if self.encoding is not None: - if isinstance(complete_msg, str): - complete_msg = complete_msg.encode(self.encoding) - else: - if isinstance(complete_msg, bytes): - complete_msg = complete_msg.decode('utf-8') + if isinstance(complete_msg, bytes): + encoding = 'utf-8' if self.encoding is None else self.encoding + complete_msg = complete_msg.decode(encoding) self.stream.write(complete_msg) self.stream.flush() From e4d3ab48e5293f61a8811b0e14abd452f0396f29 Mon Sep 17 00:00:00 2001 From: Sviatoslav Sydorenko Date: Mon, 16 Jun 2025 02:19:57 +0200 Subject: [PATCH 14/14] Revert "A better fix for python3 support" This reverts commit 36dc463129d791196ace98b17c895f8cf6addbfb. --- magicbus/plugins/loggers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/magicbus/plugins/loggers.py b/magicbus/plugins/loggers.py index 23bc4564..1fa431e2 100644 --- a/magicbus/plugins/loggers.py +++ b/magicbus/plugins/loggers.py @@ -37,13 +37,13 @@ def log(self, msg, level): class StdoutLogger(StreamLogger): - def __init__(self, bus, level=None, format=None, encoding=None): + def __init__(self, bus, level=None, format=None, encoding='utf-8'): StreamLogger.__init__(self, bus, sys.stdout, level, format, encoding) class StderrLogger(StreamLogger): - def __init__(self, bus, level=None, format=None, encoding=None): + def __init__(self, bus, level=None, format=None, encoding='utf-8'): StreamLogger.__init__(self, bus, sys.stderr, level, format, encoding)