Example #1
0
def print_meta(video: Video) -> None:
    def print_separator(text: Optional[str] = None, fat: bool = False) -> None:
        columns = shutil.get_terminal_size().columns
        sep = "━" if fat else "─"
        if not text:
            print(sep * columns)
        else:
            sep_len = (columns - len(text) - 2)
            padding = sep_len // 2
            printt(sep * padding)
            printt(" ", text, " ", bold=fat)
            printtln(sep * (padding + (sep_len % 2)))

    print_separator("Playing now", fat=True)
    printt(_("Title:   "))
    printtln(video.title, bold=True)
    printt(_("Channel: "))
    printtln(video.channel.displayname, bold=True)

    description = video.description
    if DESCRIPTION_ENABLED and description is not None:
        columns = shutil.get_terminal_size().columns
        lines = description.splitlines()
        print_separator(_("Video description"))

        for line in lines:
            print(wrap.fill(line, width=columns))

    print_separator(fat=True)
    print()
Example #2
0
 def print_separator(text: Optional[str] = None, fat: bool = False) -> None:
     columns = shutil.get_terminal_size().columns
     sep = "━" if fat else "─"
     if not text:
         print(sep * columns)
     else:
         sep_len = (columns - len(text) - 2)
         padding = sep_len // 2
         printt(sep * padding)
         printt(" ", text, " ", bold=fat)
         printtln(sep * (padding + (sep_len % 2)))
Example #3
0
def table_print(header: List[str], table: List[List[str]]) -> None:
    transposed = zip(header, *table)
    col_widths = [max(map(len, column)) for column in transposed]
    table_format = "│".join(itertools.repeat(" {{:<{}}} ",
                                             len(header))).format(*col_widths)

    if HEADER_ENABLED:
        header_line = "┼".join("─" * (width + 2) for width in col_widths)
        printtln(table_format.format(*header), bold=True)
        print(header_line)

    for i, row in enumerate(table):
        background = None if i % 2 == 0 else COLORS.table_alternate_background
        printtln(table_format.format(*row), background=background)