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

Method _render

rich/_inspect.py:125–216  ·  view source on GitHub ↗

Render object.

(self)

Source from the content-addressed store, hash-verified

123 return qual_signature
124
125 def _render(self) -> Iterable[RenderableType]:
126 """Render object."""
127
128 def sort_items(item: Tuple[str, Any]) -> Tuple[bool, str]:
129 key, (_error, value) = item
130 return (callable(value), key.strip("_").lower())
131
132 def safe_getattr(attr_name: str) -> Tuple[Any, Any]:
133 """Get attribute or any exception."""
134 try:
135 return (None, getattr(obj, attr_name))
136 except Exception as error:
137 return (error, None)
138
139 obj = self.obj
140 keys = dir(obj)
141 total_items = len(keys)
142 if not self.dunder:
143 keys = [key for key in keys if not key.startswith("__")]
144 if not self.private:
145 keys = [key for key in keys if not key.startswith("_")]
146 not_shown_count = total_items - len(keys)
147 items = [(key, safe_getattr(key)) for key in keys]
148 if self.sort:
149 items.sort(key=sort_items)
150
151 items_table = Table.grid(padding=(0, 1), expand=False)
152 items_table.add_column(justify="right")
153 add_row = items_table.add_row
154 highlighter = self.highlighter
155
156 if callable(obj):
157 signature = self._get_signature("", obj)
158 if signature is not None:
159 yield signature
160 yield ""
161
162 if self.docs:
163 _doc = self._get_formatted_doc(obj)
164 if _doc is not None:
165 doc_text = Text(_doc, style="inspect.help")
166 doc_text = highlighter(doc_text)
167 yield doc_text
168 yield ""
169
170 if self.value and not (isclass(obj) or callable(obj) or ismodule(obj)):
171 yield Panel(
172 Pretty(obj, indent_guides=True, max_length=10, max_string=60),
173 border_style="inspect.value.border",
174 )
175 yield ""
176
177 for key, (error, value) in items:
178 key_text = Text.assemble(
179 (
180 key,
181 "inspect.attr.dunder" if key.startswith("__") else "inspect.attr",
182 ),

Callers 1

__rich__Method · 0.95

Calls 12

_get_signatureMethod · 0.95
_get_formatted_docMethod · 0.95
TextClass · 0.85
PanelClass · 0.85
PrettyClass · 0.85
gridMethod · 0.80
add_columnMethod · 0.80
assembleMethod · 0.80
stylizeMethod · 0.80
from_markupMethod · 0.80
copyMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected