| 846 | return str(path) |
| 847 | |
| 848 | def repr_traceback(self, excinfo: ExceptionInfo[BaseException]) -> "ReprTraceback": |
| 849 | traceback = excinfo.traceback |
| 850 | if self.tbfilter: |
| 851 | traceback = traceback.filter() |
| 852 | |
| 853 | if isinstance(excinfo.value, RecursionError): |
| 854 | traceback, extraline = self._truncate_recursive_traceback(traceback) |
| 855 | else: |
| 856 | extraline = None |
| 857 | |
| 858 | last = traceback[-1] |
| 859 | entries = [] |
| 860 | if self.style == "value": |
| 861 | reprentry = self.repr_traceback_entry(last, excinfo) |
| 862 | entries.append(reprentry) |
| 863 | return ReprTraceback(entries, None, style=self.style) |
| 864 | |
| 865 | for index, entry in enumerate(traceback): |
| 866 | einfo = (last == entry) and excinfo or None |
| 867 | reprentry = self.repr_traceback_entry(entry, einfo) |
| 868 | entries.append(reprentry) |
| 869 | return ReprTraceback(entries, extraline, style=self.style) |
| 870 | |
| 871 | def _truncate_recursive_traceback( |
| 872 | self, traceback: Traceback |