From d080220a4db1b837341ef4e172172d93f6c55f41 Mon Sep 17 00:00:00 2001 From: wonjaeL Date: Mon, 14 Aug 2023 16:55:52 +0900 Subject: [PATCH 1/2] Fix bug that multiple duplicated charaters printed --- log_viewer/utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/log_viewer/utils.py b/log_viewer/utils.py index 510d7cd..9d5530c 100644 --- a/log_viewer/utils.py +++ b/log_viewer/utils.py @@ -91,7 +91,8 @@ def readlines_reverse(qfile, exclude=None): line = "" else: line += next_char - position -= 1 + char_len = len(next_char.encode()) + position -= char_len or 1 yield line[::-1] From 361f7b182f829b511f49705ff2637202cd7d42c9 Mon Sep 17 00:00:00 2001 From: wonjaeL Date: Mon, 14 Aug 2023 17:42:09 +0900 Subject: [PATCH 2/2] Fix bug --- log_viewer/utils.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/log_viewer/utils.py b/log_viewer/utils.py index 9d5530c..30256ee 100644 --- a/log_viewer/utils.py +++ b/log_viewer/utils.py @@ -91,8 +91,12 @@ def readlines_reverse(qfile, exclude=None): line = "" else: line += next_char - char_len = len(next_char.encode()) - position -= char_len or 1 + + char_length = len(next_char.encode()) + if char_length > 1 and len(line) > 3 and len(set(line[-4:-1])) == 1: + line = line[:-3] + next_char + position -= char_length or 1 + yield line[::-1]