#!/usr/bin/env python3
-from abc import abstractmethod
import difflib
import io
import logging
import re
import sys
+from abc import abstractmethod
from typing import Any, Callable, Dict, Iterable, Optional, Tuple
from overrides import overrides
green = 0
if blue is None:
blue = 0
- if (
- is_16color(red) and is_16color(green) and is_16color(blue)
- ) or force_16color:
+ if (is_16color(red) and is_16color(green) and is_16color(blue)) or force_16color:
logger.debug("Using 16-color strategy")
return fg_16color(red, green, blue)
if (
return best_guess
+@logging_utils.squelch_repeated_log_messages(1)
def bg(
name: Optional[str] = "",
red: Optional[int] = None,
green = 0
if blue is None:
blue = 0
- if (
- is_16color(red) and is_16color(green) and is_16color(blue)
- ) or force_16color:
+ if (is_16color(red) and is_16color(green) and is_16color(blue)) or force_16color:
logger.debug("Using 16-color strategy")
return bg_16color(red, green, blue)
if (
class StdoutInterceptor(io.TextIOBase):
def __init__(self):
- self.saved_stdout: Optional[io.TextIOBase] = None
+ self.saved_stdout: io.TextIO = None
self.buf = ''
@abstractmethod
def write(self, s: str):
pass
- def __enter__(self) -> None:
+ def __enter__(self):
self.saved_stdout = sys.stdout
sys.stdout = self
- return None
+ return self
- def __exit__(self, *args) -> bool:
+ def __exit__(self, *args) -> Optional[bool]:
sys.stdout = self.saved_stdout
print(self.buf)
return None