HEX
Server: Apache
System: Linux vps-cdc32557.vps.ovh.ca 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
User: hanode (1017)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/lib/python3/dist-packages/landscape/lib/os_release.py
"""Get information from os-release."""
import os

OS_RELEASE_FILENAME = "/etc/os-release"
OS_RELEASE_FILENAME_FALLBACK = "/usr/lib/os-release"
OS_RELEASE_FILE_KEYS = {
    "NAME": "distributor-id",
    "PRETTY_NAME": "description",
    "VERSION_ID": "release",
    "VERSION_CODENAME": "code-name",
}


def parse_os_release(os_release_filename=None):
    """
    Returns a C{dict} holding information about the system LSB release
    by attempting to parse C{os_release_filename} if specified. If no
    filename is provided /etc/os-release will be used or
    /usr/lib/os-release as a fallback as indicated in os-release
    at Freedesktop.org

    @raises: A FileNotFoundError if C{filename} does not exist.
    """
    info = {}

    if os_release_filename is None:
        os_release_filename = OS_RELEASE_FILENAME
        if not os.path.exists(os_release_filename) or not os.access(
            os_release_filename,
            os.R_OK,
        ):
            os_release_filename = OS_RELEASE_FILENAME_FALLBACK

    with open(os_release_filename) as fd:
        for line in fd:
            key, value = line.split("=")

            if key in OS_RELEASE_FILE_KEYS:
                key = OS_RELEASE_FILE_KEYS[key.strip()]
                value = value.strip().strip('"')
                info[key] = value

    return info