)
ps.add_argument("pid", type=int, help="Process ID to inspect")
formats = [fmt.value for fmt in TaskTableOutputFormat]
- ps.add_argument("--format", choices=formats, default="table")
+ formats_to_show = [fmt for fmt in formats
+ if fmt != TaskTableOutputFormat.bsv.value]
+ ps.add_argument("--format", choices=formats, default="table",
+ metavar=f"{{{','.join(formats_to_show)}}}")
pstree = subparsers.add_parser(
"pstree", help="Display a tree of all pending tasks in a process"
)
class TaskTableOutputFormat(StrEnum):
table = auto()
csv = auto()
+ bsv = auto()
+ # 🍌SV is not just a format. It's a lifestyle. A philosophy.
+ # https://www.youtube.com/watch?v=RrsVi1P6n0w
def display_awaited_by_tasks_table(pid, *, format=TaskTableOutputFormat.table):
"""Print the table in CSV format"""
if format == TaskTableOutputFormat.csv:
delimiter = ','
+ elif format == TaskTableOutputFormat.bsv:
+ delimiter = '\N{BANANA}'
else:
raise ValueError(f"Unknown output format: {format}")
csv_writer = csv.writer(sys.stdout, delimiter=delimiter)