From 1574e8a3a8982fab9278ad534f9427d464e4bffb Mon Sep 17 00:00:00 2001 From: Scott Gasch Date: Fri, 16 Jul 2021 21:43:44 -0700 Subject: Various --- text_utils.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'text_utils.py') diff --git a/text_utils.py b/text_utils.py index 93e4b63..1a8fa18 100644 --- a/text_utils.py +++ b/text_utils.py @@ -5,7 +5,7 @@ from collections import defaultdict import math import sys -from typing import List, NamedTuple +from typing import List, NamedTuple, Optional from ansi import fg, reset @@ -171,15 +171,24 @@ def generate_padded_columns(text: List[str]) -> str: class Indenter: """ - with Indenter() as i: - i.print('test') - with i: - i.print('-ing') + with Indenter(pad_count = 8) as i: + i.print('test') with i: - i.print('1, 2, 3') + i.print('-ing') + with i: + i.print('1, 2, 3') """ - def __init__(self): + def __init__(self, + *, + pad_prefix: Optional[str] = None, + pad_char: str = ' ', + pad_count: int = 4): self.level = -1 + if pad_prefix is not None: + self.pad_prefix = pad_prefix + else: + self.pad_prefix = '' + self.padding = pad_char * pad_count def __enter__(self): self.level += 1 @@ -193,4 +202,4 @@ class Indenter: def print(self, *arg, **kwargs): import string_utils text = string_utils.sprintf(*arg, **kwargs) - print(" " * self.level + text) + print(self.pad_prefix + self.padding * self.level + text, end='') -- cgit v1.3