PHP 8.2.30
Preview: _log_render.py Size: 3.15 KB
/opt/hc_python/lib/python3.12/site-packages/pip/_vendor/rich/_log_render.py

from datetime import datetime
from typing import Iterable, List, Optional, TYPE_CHECKING, Union, Callable


from .text import Text, TextType

if TYPE_CHECKING:
    from .console import Console, ConsoleRenderable, RenderableType
    from .table import Table

FormatTimeCallable = Callable[[datetime], Text]


class LogRender:
    def __init__(
        self,
        show_time: bool = True,
        show_level: bool = False,
        show_path: bool = True,
        time_format: Union[str, FormatTimeCallable] = "[%x %X]",
        omit_repeated_times: bool = True,
        level_width: Optional[int] = 8,
    ) -> None:
        self.show_time = show_time
        self.show_level = show_level
        self.show_path = show_path
        self.time_format = time_format
        self.omit_repeated_times = omit_repeated_times
        self.level_width = level_width
        self._last_time: Optional[Text] = None

    def __call__(
        self,
        console: "Console",
        renderables: Iterable["ConsoleRenderable"],
        log_time: Optional[datetime] = None,
        time_format: Optional[Union[str, FormatTimeCallable]] = None,
        level: TextType = "",
        path: Optional[str] = None,
        line_no: Optional[int] = None,
        link_path: Optional[str] = None,
    ) -> "Table":
        from .containers import Renderables
        from .table import Table

        output = Table.grid(padding=(0, 1))
        output.expand = True
        if self.show_time:
            output.add_column(style="log.time")
        if self.show_level:
            output.add_column(style="log.level", width=self.level_width)
        output.add_column(ratio=1, style="log.message", overflow="fold")
        if self.show_path and path:
            output.add_column(style="log.path")
        row: List["RenderableType"] = []
        if self.show_time:
            log_time = log_time or console.get_datetime()
            time_format = time_format or self.time_format
            if callable(time_format):
                log_time_display = time_format(log_time)
            else:
                log_time_display = Text(log_time.strftime(time_format))
            if log_time_display == self._last_time and self.omit_repeated_times:
                row.append(Text(" " * len(log_time_display)))
            else:
                row.append(log_time_display)
                self._last_time = log_time_display
        if self.show_level:
            row.append(level)

        row.append(Renderables(renderables))
        if self.show_path and path:
            path_text = Text()
            path_text.append(
                path, style=f"link file://{link_path}" if link_path else ""
            )
            if line_no:
                path_text.append(":")
                path_text.append(
                    f"{line_no}",
                    style=f"link file://{link_path}#{line_no}" if link_path else "",
                )
            row.append(path_text)

        output.add_row(*row)
        return output


if __name__ == "__main__":  # pragma: no cover
    from pip._vendor.rich.console import Console

    c = Console()
    c.print("[on blue]Hello", justify="right")
    c.log("[on blue]hello", justify="right")

Directory Contents

Dirs: 1 × Files: 79

Name Size Perms Modified Actions
- drwxr-xr-x 2025-12-03 08:02:42
Edit Download
890 B lrw-r--r-- 2025-12-03 08:02:41
Edit Download
10.08 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
6.76 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
3.19 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
10.44 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
5.01 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
17.78 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
1.03 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
6.96 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
98.49 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
1.26 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
5.37 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
6.33 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
8.06 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
1.00 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
2.31 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
642 B lrw-r--r-- 2025-12-03 08:02:41
Edit Download
2.43 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
1.64 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
9.36 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
4.91 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
3.18 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
13.68 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
1.03 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
14.82 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
3.44 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
12.18 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
8.25 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
5.18 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
4.79 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
828 B lrw-r--r-- 2025-12-03 08:02:41
Edit Download
3.32 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
10.90 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
35.54 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
58.99 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
7.97 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
12.16 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
1.36 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
0 B lrw-r--r-- 2025-12-03 08:02:41
Edit Download
166 B lrw-r--r-- 2025-12-03 08:02:41
Edit Download
4.33 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
4.49 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
2.78 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
1.55 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
24.16 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
4.12 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
4.32 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
26.36 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
1.23 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
35.52 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
39.11 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
3.29 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
46.44 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
3.68 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
102 B lrw-r--r-- 2025-12-03 08:02:41
Edit Download
35.02 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
9.23 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
9.97 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
136.95 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
1.04 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
2.08 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
265 B lrw-r--r-- 2025-12-03 08:02:41
Edit Download
799 B lrw-r--r-- 2025-12-03 08:02:41
Edit Download
9.43 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
3.15 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
1.21 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
1.36 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
6.90 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
423 B lrw-r--r-- 2025-12-03 08:02:41
Edit Download
5.20 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
19.45 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
351 B lrw-r--r-- 2025-12-03 08:02:41
Edit Download
417 B lrw-r--r-- 2025-12-03 08:02:41
Edit Download
22.22 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
1.88 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
2.72 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
3.32 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
5.95 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download
7.71 KB lrw-r--r-- 2025-12-03 08:02:41
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).