summaryrefslogtreecommitdiffstats
path: root/pgcli/explain_output_formatter.py
blob: b14cf4405ffe7df5fe2408bb77a18dc241c63c38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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):
        (data,) = cur.fetchone()
        explain_list = json.loads(data)
        visualizer = Visualizer(self.max_width)
        for explain in explain_list:
            visualizer.load(explain)
            yield visualizer.get_list()