logger = logging.getLogger(__name__)
+def col_str_tuple(col):
+ if len(col) == 4:
+ return (int(col[1]*2, 16),
+ int(col[2]*2, 16),
+ int(col[3]*2, 16))
+ elif len(col) == 7:
+ return (int(col[1:3], 16),
+ int(col[3:5], 16),
+ int(col[5:], 16))
+ else:
+ return (0,0,0)
+
def print_usage(command: Optional[str] = None):
if command is None:
print("Punch usage:")
category, depth = stack.pop()
if depth >= 0:
print("\t"*depth, end='')
+ col = col_str_tuple(category.color)
+ col_str = f'\033[38;2;{col[0]};{col[1]};{col[2]}m●\033[39m'
if category.is_group:
- print('> ' + category.name)
+ print(f'{col_str} ' + category.name)
else:
last_entry = puncher.get_last_entry(category.abbr)
if last_entry is None or last_entry.is_complete:
- print('| ' + category.abbr + "\t" + category.name)
+ print(f'{col_str} ' + category.abbr + "\t" + category.name)
else:
- print('| ' + category.abbr + "\t" + category.name
+ print(f'{col_str} ' + category.abbr + "\t" + category.name
+ f"\t punched in at {last_entry.t_in}")
if category.children is not None:
for child in reversed(category.children):