Add formatters: table, JSON, text and config
Some checks failed
CI / test (3.10) (push) Has been cancelled
CI / test (3.11) (push) Has been cancelled
CI / test (3.12) (push) Has been cancelled
CI / test (3.9) (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / build (push) Has been cancelled

This commit is contained in:
2026-02-02 08:06:10 +00:00
parent 4ff3dfca62
commit af57a7e818

View File

@@ -0,0 +1,28 @@
"""Base formatter class."""
from abc import ABC, abstractmethod
from typing import Any, Dict, List, TextIO
class OutputFormatter(ABC):
"""Abstract base class for output formatters."""
def __init__(self, output: TextIO = None):
self.output = output
@abstractmethod
def format(self, data: Any) -> str:
"""Format data for output."""
pass
def write(self, text: str) -> None:
"""Write to output stream."""
if self.output:
self.output.write(text)
else:
print(text, end="")
def flush(self) -> None:
"""Flush output stream."""
if self.output:
self.output.flush()