Open Necnion8 opened 2 weeks ago
\r
+ 制御コード? + \n
で除外するパッチをここに記しておく
概ね解決できてそうですがまだ /help
の行に抜けが現れます。
diff --git a/dncore/extensions/craftswitcher/utils.py b/dncore/extensions/craftswitcher/utils.py
--- a/dncore/extensions/craftswitcher/utils.py (revision 43445c9b66c1a95c5e119df3f1dccb9e0a085c60)
+++ b/dncore/extensions/craftswitcher/utils.py (date 1731070344785)
@@ -4,6 +4,7 @@
import locale
import logging
import platform
+import re
import uuid
from collections import deque
from logging import getLogger
@@ -191,7 +192,7 @@
return self._buffer
def put_data(self, data: str):
- buf = (self._buffer + data).replace("\r\n", "\n")
+ buf = re.sub(r"\r(\x1b\[\d*m)?\n", "\\1\n", self._buffer + data)
if self._max_buffer_size < len(buf):
buf = buf[-self._max_buffer_size:]
try:
改行コード(
\r
と\n
)を正しく処理した方がいいかもしれない・・・ Spigot 1.8 で/help
や/tps
の出力で試したところ、\r\n
の間にカラーコードが入ってくることがあるらしい。現状
\r\n
を\n
に置換して処理してる => 正しい行を抽出できずに一部の行の内容が失われることに