Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/pip/_vendor/rich/pager.py: 88%
8 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-07 06:48 +0000
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-07 06:48 +0000
1from abc import ABC, abstractmethod
2from typing import Any
5class Pager(ABC):
6 """Base class for a pager."""
8 @abstractmethod
9 def show(self, content: str) -> None:
10 """Show content in pager.
12 Args:
13 content (str): Content to be displayed.
14 """
17class SystemPager(Pager):
18 """Uses the pager installed on the system."""
20 def _pager(self, content: str) -> Any: # pragma: no cover
21 return __import__("pydoc").pager(content)
23 def show(self, content: str) -> None:
24 """Use the same pager used by pydoc."""
25 self._pager(content)
28if __name__ == "__main__": # pragma: no cover
29 from .__main__ import make_test_card
30 from .console import Console
32 console = Console()
33 with console.pager(styles=True):
34 console.print(make_test_card())