Current Dir: /snap/core22/2955/usr/share/subiquity/subiquitycore/

[DIR]  controllers [ delete | rename ]
[DIR]  models [ delete | rename ]
[DIR]  testing [ delete | rename ]
[DIR]  tests [ delete | rename ]
[DIR]  ui [ delete | rename ]
[DIR]  __pycache__ [ delete | rename ]
[FILE] async_helpers.py [ edit | delete | rename ]
[FILE] context.py [ edit | delete | rename ]
[FILE] controller.py [ edit | delete | rename ]
[FILE] controllerset.py [ edit | delete | rename ]
[FILE] core.py [ edit | delete | rename ]
[FILE] file_util.py [ edit | delete | rename ]
[FILE] i18n.py [ edit | delete | rename ]
[FILE] log.py [ edit | delete | rename ]
[FILE] lsb_release.py [ edit | delete | rename ]
[FILE] netplan.py [ edit | delete | rename ]
[FILE] palette.py [ edit | delete | rename ]
[FILE] prober.py [ edit | delete | rename ]
[FILE] pubsub.py [ edit | delete | rename ]
[FILE] screen.py [ edit | delete | rename ]
[FILE] snapd.py [ edit | delete | rename ]
[FILE] ssh.py [ edit | delete | rename ]
[FILE] tui.py [ edit | delete | rename ]
[FILE] tuicontroller.py [ edit | delete | rename ]
[FILE] utils.py [ edit | delete | rename ]
[FILE] view.py [ edit | delete | rename ]
[FILE] __init__.py [ edit | delete | rename ]

Viewing: /snap/core22/2955/usr/share/subiquity/subiquitycore/lsb_release.py

# This file is part of subiquity. See LICENSE file for license information.
import shlex

LSB_RELEASE_FILE = "/etc/lsb-release"
LSB_RELEASE_EXAMPLE = "examples/lsb-release-focal"


def lsb_release(path=None, dry_run: bool = False):
    """return a dictionary of values from /etc/lsb-release.
    keys are lower case with DISTRIB_ prefix removed."""
    if dry_run and path is not None:
        raise ValueError("Both dry_run and path are specified.")

    if path is None:
        path = LSB_RELEASE_EXAMPLE if dry_run else LSB_RELEASE_FILE

    ret = {}
    try:
        with open(path, "r") as fp:
            content = fp.read()
    except FileNotFoundError:
        return ret

    for tok in shlex.split(content):
        k, _, v = tok.partition("=")
        if not k.startswith("DISTRIB_") or not v:
            continue
        ret[k.replace("DISTRIB_", "").lower()] = v
    return ret


if __name__ == '__main__':
    print(lsb_release())

Upload File: