1
0
Fork 0
pgcli/pgcli/explain_output_formatter.py

20 lines
546 B
Python

from pgcli.pyev import Visualizer
import json
"""Explain response output adapter"""
class ExplainOutputFormatter:
def __init__(self, max_width):
self.max_width = max_width
def format_output(self, cur, headers, **output_kwargs):
# explain query results should always contain 1 row each
[(data,)] = list(cur)
explain_list = json.loads(data)
visualizer = Visualizer(self.max_width)
for explain in explain_list:
visualizer.load(explain)
yield visualizer.get_list()