|
3 | 3 |
|
4 | 4 | import os as _os |
5 | 5 | import re as _re |
| 6 | +import shutil as _shutil |
6 | 7 |
|
7 | 8 | from logging import StreamHandler as _StreamHandler |
8 | 9 | from log21.Colors import ansi_escape as _ansi_escape, get_colors as _gc, hex_escape as _hex_escape |
@@ -36,7 +37,8 @@ def check_cr(self, record): |
36 | 37 | if file_descriptor: |
37 | 38 | file_descriptor = file_descriptor() |
38 | 39 | if file_descriptor in (1, 2): # stdout or stderr |
39 | | - self.stream.write('\r' + (' ' * (_os.get_terminal_size(file_descriptor)[0] - 1)) + '\r') |
| 40 | + self.stream.write( |
| 41 | + '\r' + (' ' * (_shutil.get_terminal_size(file_descriptor).columns - 1)) + '\r') |
40 | 42 | index = record.msg.rfind('\r') |
41 | 43 | find = _re.compile(r'(\x1b\[(?:\d+(?:;(?:\d+))*)m)') |
42 | 44 | record.msg = _gc(*find.split(record.msg[:index])) + record.msg[index + 1:] |
@@ -65,18 +67,13 @@ def clear_line(self, length: int = None): |
65 | 67 | :param length: The length of the line to clear. |
66 | 68 | :return: |
67 | 69 | """ |
68 | | - if IS_WINDOWS: |
69 | | - file_descriptor = getattr(self.stream, 'fileno', None) |
70 | | - if file_descriptor: |
71 | | - file_descriptor = file_descriptor() |
72 | | - if file_descriptor in (1, 2): |
73 | | - if length is None: |
74 | | - length = _os.get_terminal_size(file_descriptor)[0] |
75 | | - self.stream.write('\r' + (' ' * (length - 1)) + '\r') |
76 | | - else: |
77 | | - if length is None: |
78 | | - length = _os.get_terminal_size()[0] |
79 | | - self.stream.write('\r' + (' ' * (length - 1)) + '\r') |
| 70 | + file_descriptor = getattr(self.stream, 'fileno', None) |
| 71 | + if file_descriptor: |
| 72 | + file_descriptor = file_descriptor() |
| 73 | + if file_descriptor in (1, 2): |
| 74 | + if length is None: |
| 75 | + length = _shutil.get_terminal_size(file_descriptor).columns |
| 76 | + self.stream.write('\r' + (' ' * (length - 1)) + '\r') |
80 | 77 |
|
81 | 78 |
|
82 | 79 | # A stream handler that supports colorizing. |
|
0 commit comments