projects
/
python_utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Ugh, a bunch of things. @overrides. --lmodule. Chromecasts. etc...
[python_utils.git]
/
ansi.py
diff --git
a/ansi.py
b/ansi.py
index 769b29c46b21c705f8c8ad09906f9dd7239cfaa2..d30ae27e625dbe585d82d3392837b39bf436f888 100755
(executable)
--- a/
ansi.py
+++ b/
ansi.py
@@
-8,6
+8,10
@@
import re
import sys
from typing import Any, Callable, Dict, Iterable, Optional, Tuple
import sys
from typing import Any, Callable, Dict, Iterable, Optional, Tuple
+from overrides import overrides
+
+import logging_utils
+
logger = logging.getLogger(__name__)
# https://en.wikipedia.org/wiki/ANSI_escape_code
logger = logging.getLogger(__name__)
# https://en.wikipedia.org/wiki/ANSI_escape_code
@@
-1726,6
+1730,7
@@
def _find_color_by_name(name: str) -> Tuple[int, int, int]:
return rgb
return rgb
+@logging_utils.squelch_repeated_log_messages(1)
def fg(name: Optional[str] = "",
red: Optional[int] = None,
green: Optional[int] = None,
def fg(name: Optional[str] = "",
red: Optional[int] = None,
green: Optional[int] = None,
@@
-1735,6
+1740,9
@@
def fg(name: Optional[str] = "",
force_216color: bool = False) -> str:
import string_utils
force_216color: bool = False) -> str:
import string_utils
+ if name is not None and name == 'reset':
+ return '\033[39m'
+
if name is not None and string_utils.is_full_string(name):
rgb = _find_color_by_name(name)
return fg(
if name is not None and string_utils.is_full_string(name):
rgb = _find_color_by_name(name)
return fg(
@@
-1819,6
+1827,9
@@
def bg(name: Optional[str] = "",
force_216color: bool = False) -> str:
import string_utils
force_216color: bool = False) -> str:
import string_utils
+ if name is not None and name == 'reset':
+ return '\033[49m'
+
if name is not None and string_utils.is_full_string(name):
rgb = _find_color_by_name(name)
return bg(
if name is not None and string_utils.is_full_string(name):
rgb = _find_color_by_name(name)
return bg(
@@
-1855,7
+1866,7
@@
class StdoutInterceptor(io.TextIOBase):
self.buf = ''
@abstractmethod
self.buf = ''
@abstractmethod
- def write(self, s):
+ def write(self, s
: str
):
pass
def __enter__(self) -> None:
pass
def __enter__(self) -> None:
@@
-1874,6
+1885,7
@@
class ProgrammableColorizer(StdoutInterceptor):
super().__init__()
self.patterns = [_ for _ in patterns]
super().__init__()
self.patterns = [_ for _ in patterns]
+ @overrides
def write(self, s: str):
for pattern in self.patterns:
s = pattern[0].sub(pattern[1], s)
def write(self, s: str):
for pattern in self.patterns:
s = pattern[0].sub(pattern[1], s)