/usr/lib/python2.6/site-packages/clifftablib
Edit: /usr/lib/python2.6/site-packages/clifftablib/formatters.py (1232B)
"""Output formatters using tablib.
"""
from cliff.formatters.base import ListFormatter, SingleFormatter
import tablib
class TablibFormatterBase(ListFormatter, SingleFormatter):
def add_argument_group(self, parser):
return
def emit_list(self, column_names, data, stdout, parsed_args):
dataset = tablib.Dataset(headers=column_names)
for row in data:
dataset.append(row)
stdout.write(self._format_dataset(dataset))
stdout.write('\n')
return
def emit_one(self, column_names, data, stdout, parsed_args):
dataset = tablib.Dataset(headers=('Field', 'Value'))
for name, value in zip(column_names, data):
dataset.append((name, value))
stdout.write(self._format_dataset(dataset))
stdout.write('\n')
return
class YamlFormatter(TablibFormatterBase):
"""YAML output"""
def _format_dataset(self, dataset):
return dataset.yaml
class HtmlFormatter(TablibFormatterBase):
"""HTML output"""
def _format_dataset(self, dataset):
return dataset.html
class JsonFormatter(TablibFormatterBase):
"""JSON output"""
def _format_dataset(self, dataset):
return dataset.json