1
0
mirror of https://github.com/dbcli/pgcli synced 2024-06-16 01:42:23 +00:00
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()