From 49fb205ae7d072bf9a0e0450bc727977fd599700 Mon Sep 17 00:00:00 2001 From: Greg Price Date: Mon, 31 Jul 2017 17:39:40 -0700 Subject: [PATCH] log2zulip: Fix to work on Python 3. I'm not thrilled with the `replace` error handler losing information if the logfile contains invalid UTF-8 for some reason; but that sure beats a UnicodeDecodeError, and for this script I can't quite be bothered to run the rather tricky riddle trail that Python 3 makes it to pass arbitrary byte data through layers of ordinary text processing. --- zulip/integrations/log2zulip/log2zulip | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zulip/integrations/log2zulip/log2zulip b/zulip/integrations/log2zulip/log2zulip index 91fc3ca..f260aa8 100755 --- a/zulip/integrations/log2zulip/log2zulip +++ b/zulip/integrations/log2zulip/log2zulip @@ -88,7 +88,7 @@ def process_logs(): # a log file ends up at the same line length as before # immediately after rotation, this tool won't notice. file_data["last"] = 1 - new_lines = subprocess.check_output(["tail", "-n+%s" % (file_data["last"],), log_file]).split('\n')[:-1] + new_lines = subprocess.check_output(["tail", "-n+%s" % (file_data["last"],), log_file]).decode('utf-8', errors='replace').split('\n')[:-1] if len(new_lines) > 0: process_lines(new_lines, filename) file_data["last"] += len(new_lines)