Render object.
(self)
| 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 | ), |
no test coverage detected