Path 1: 1 calls (0.5)

None (1)

None (1)

None (1)

1def __exit__(
2        self,
3        exc_type: Optional[Type[BaseException]],
4        exc_val: Optional[BaseException],
5        exc_tb: Optional[TracebackType],
6    ) -> None:
7        if exc_type is None:
8            with self._console._lock:
9                buffer: List[Segment] = self._console._buffer[:]
10                del self._console._buffer[:]
11                segments: Iterable[Segment] = buffer
12                if not self.styles:
13                    segments = Segment.strip_styles(segments)
14                elif not self.links:
15                    segments = Segment.strip_links(segments)
16                content = self._console._render_buffer(segments)
17            self.pager.show(content)
18        self._console._exit_buffer()
            

Path 2: 1 calls (0.5)

None (1)

None (1)

None (1)

1def __exit__(
2        self,
3        exc_type: Optional[Type[BaseException]],
4        exc_val: Optional[BaseException],
5        exc_tb: Optional[TracebackType],
6    ) -> None:
7        if exc_type is None:
8            with self._console._lock:
9                buffer: List[Segment] = self._console._buffer[:]
10                del self._console._buffer[:]
11                segments: Iterable[Segment] = buffer
12                if not self.styles:
13                    segments = Segment.strip_styles(segments)
14                elif not self.links:
15                    segments = Segment.strip_links(segments)
16                content = self._console._render_buffer(segments)
17            self.pager.show(content)
18        self._console._exit_buffer()