MCPcopy
hub / github.com/Textualize/rich / __call__

Method __call__

rich/_log_render.py:32–86  ·  view source on GitHub ↗
(
        self,
        console: "Console",
        renderables: Iterable["ConsoleRenderable"],
        log_time: Optional[datetime] = None,
        time_format: Optional[Union[str, FormatTimeCallable]] = None,
        level: TextType = "",
        path: Optional[str] = None,
        line_no: Optional[int] = None,
        link_path: Optional[str] = None,
    )

Source from the content-addressed store, hash-verified

30 self._last_time: Optional[Text] = None
31
32 def __call__(
33 self,
34 console: "Console",
35 renderables: Iterable["ConsoleRenderable"],
36 log_time: Optional[datetime] = None,
37 time_format: Optional[Union[str, FormatTimeCallable]] = None,
38 level: TextType = "",
39 path: Optional[str] = None,
40 line_no: Optional[int] = None,
41 link_path: Optional[str] = None,
42 ) -> "Table":
43 from .containers import Renderables
44 from .table import Table
45
46 output = Table.grid(padding=(0, 1))
47 output.expand = True
48 if self.show_time:
49 output.add_column(style="log.time")
50 if self.show_level:
51 output.add_column(style="log.level", width=self.level_width)
52 output.add_column(ratio=1, style="log.message", overflow="fold")
53 if self.show_path and path:
54 output.add_column(style="log.path")
55 row: List["RenderableType"] = []
56 if self.show_time:
57 log_time = log_time or console.get_datetime()
58 time_format = time_format or self.time_format
59 if callable(time_format):
60 log_time_display = time_format(log_time)
61 else:
62 log_time_display = Text(log_time.strftime(time_format))
63 if log_time_display == self._last_time and self.omit_repeated_times:
64 row.append(Text(" " * len(log_time_display)))
65 else:
66 row.append(log_time_display)
67 self._last_time = log_time_display
68 if self.show_level:
69 row.append(level)
70
71 row.append(Renderables(renderables))
72 if self.show_path and path:
73 path_text = Text()
74 path_text.append(
75 path, style=f"link file://{link_path}" if link_path else ""
76 )
77 if line_no:
78 path_text.append(":")
79 path_text.append(
80 f"{line_no}",
81 style=f"link file://{link_path}#{line_no}" if link_path else "",
82 )
83 row.append(path_text)
84
85 output.add_row(*row)
86 return output
87
88
89if __name__ == "__main__": # pragma: no cover

Callers

nothing calls this directly

Calls 6

appendMethod · 0.95
TextClass · 0.85
RenderablesClass · 0.85
gridMethod · 0.80
add_columnMethod · 0.80
add_rowMethod · 0.80

Tested by

no test coverage detected