PHP 8.5.2
Preview: simpletable.py Size: 1.93 KB
//usr/lib/python3/dist-packages/cloudinit/simpletable.py

# Copyright (C) 2017 Amazon.com, Inc. or its affiliates
#
# Author: Ethan Faust <efaust@amazon.com>
# Author: Andrew Jorgensen <ajorgens@amazon.com>
#
# This file is part of cloud-init. See LICENSE file for license information.


class SimpleTable:
    """A minimal implementation of PrettyTable
    for distribution with cloud-init.
    """

    def __init__(self, fields):
        self.fields = fields
        self.rows = []

        # initialize list of 0s the same length
        # as the number of fields
        self.column_widths = [0] * len(self.fields)
        self.update_column_widths(fields)

    def update_column_widths(self, values):
        for i, value in enumerate(values):
            self.column_widths[i] = max(len(value), self.column_widths[i])

    def add_row(self, values):
        if len(values) > len(self.fields):
            raise TypeError("too many values")
        values = [str(value) for value in values]
        self.rows.append(values)
        self.update_column_widths(values)

    def _hdiv(self):
        """Returns a horizontal divider for the table."""
        return (
            "+" + "+".join(["-" * (w + 2) for w in self.column_widths]) + "+"
        )

    def _row(self, row):
        """Returns a formatted row."""
        return (
            "|"
            + "|".join(
                [
                    col.center(self.column_widths[i] + 2)
                    for i, col in enumerate(row)
                ]
            )
            + "|"
        )

    def __str__(self):
        """Returns a string representation of the table with lines around.

        +-----+-----+
        | one | two |
        +-----+-----+
        |  1  |  2  |
        |  01 |  10 |
        +-----+-----+
        """
        lines = [self._hdiv(), self._row(self.fields), self._hdiv()]
        lines += [self._row(r) for r in self.rows] + [self._hdiv()]
        return "\n".join(lines)

    def get_string(self):
        return self.__str__()

Directory Contents

Dirs: 11 × Files: 29

Name Size Perms Modified Actions
analyze DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
cmd DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
config DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
distros DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
filters DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
handlers DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
mergers DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
net DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
reporting DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
sources DIR
- drwxr-xr-x 2026-01-23 08:58:12
Edit Download
- drwxr-xr-x 2026-01-23 08:58:13
Edit Download
10.10 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
2.45 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
3.71 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
7.78 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
2.00 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
3.38 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
4.28 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
15.99 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
2.43 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
6.00 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
22.97 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
2.52 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
1022 B lrw-r--r-- 2024-03-27 13:14:04
Edit Download
10.28 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
2.06 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
1.74 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
1.93 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
22.20 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
38.76 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
12.50 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
7.64 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
3.15 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
703 B lrw-r--r-- 2024-03-27 13:14:04
Edit Download
28.06 KB lrw-r--r-- 2024-04-05 23:18:48
Edit Download
14.44 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
97.25 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
560 B lrw-r--r-- 2024-04-05 23:18:48
Edit Download
3.76 KB lrw-r--r-- 2024-03-27 13:14:04
Edit Download
0 B lrw-r--r-- 2024-03-27 13:14:04
Edit Download

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