Module

debug.reporter

Rich terminal reporter for page explanations.

Formats PageExplanation data for display in terminal with Rich panels, trees, and tables. Optimized for readability and quick scanning.

Key Features:

  • Paneled sections for visual organization
  • Tree view for template chains
  • Color-coded cache status
  • Collapsible details for long lists

Classes

ExplanationReporter
Format and display page explanations in terminal. Uses Rich library for colorful, well-formatted t…
13

Format and display page explanations in terminal.

Uses Rich library for colorful, well-formatted terminal output. Designed for quick scanning and visual clarity.

Creation:

Direct instantiation: ExplanationReporter(console=None)
  • Uses provided Console or creates new one

Attributes

Name Type Description
console

Rich Console instance for output

Methods 2

print
Print formatted explanation to terminal.
2 None
def print(self, explanation: PageExplanation, verbose: bool = False) -> None

Print formatted explanation to terminal.

Parameters 2
explanation PageExplanation

PageExplanation to display

verbose bool

Show additional details (template variables, timing)

format_summary
Format a brief one-line summary.
1 str
def format_summary(self, explanation: PageExplanation) -> str

Format a brief one-line summary.

Parameters 1
explanation PageExplanation

PageExplanation to summarize

Returns

str

Single-line summary string

Internal Methods 11
__init__
Initialize the reporter.
1 None
def __init__(self, console: Console | None = None) -> None

Initialize the reporter.

Parameters 1
console Console | None

Optional Rich Console. Creates new one if not provided.

_print_source
Print source file information panel.
1 None
def _print_source(self, source: SourceInfo) -> None

Print source file information panel.

Parameters 1
source SourceInfo
_print_frontmatter
Print frontmatter panel.
1 None
def _print_frontmatter(self, frontmatter: dict[str, Any]) -> None

Print frontmatter panel.

Parameters 1
frontmatter dict[str, Any]
_format_value
Format a frontmatter value for display.
1 str
def _format_value(self, value: object) -> str

Format a frontmatter value for display.

Parameters 1
value object
Returns

str

_print_template_chain
Print template inheritance chain as tree.
1 None
def _print_template_chain(self, chain: list[TemplateInfo]) -> None

Print template inheritance chain as tree.

Parameters 1
chain list[TemplateInfo]
_print_dependencies
Print dependencies panel.
1 None
def _print_dependencies(self, deps: DependencyInfo) -> None

Print dependencies panel.

Parameters 1
deps DependencyInfo
_print_shortcodes
Print shortcode usage panel.
1 None
def _print_shortcodes(self, shortcodes: list[ShortcodeUsage]) -> None

Print shortcode usage panel.

Parameters 1
shortcodes list[ShortcodeUsage]
_print_cache
Print cache status panel.
1 None
def _print_cache(self, cache: CacheInfo) -> None

Print cache status panel.

Parameters 1
cache CacheInfo
_print_output
Print output information panel.
1 None
def _print_output(self, output: OutputInfo) -> None

Print output information panel.

Parameters 1
output OutputInfo
_print_issues
Print diagnosed issues.
1 None
def _print_issues(self, issues: list[Issue]) -> None

Print diagnosed issues.

Parameters 1
issues list[Issue]
_print_performance
Print performance timing information.
1 None
def _print_performance(self, performance: PerformanceInfo) -> None

Print performance timing information.

Parameters 1
performance PerformanceInfo