#! /usr/bin/python3

import socket
import subprocess
from sys import stdin

from sysversion import fmt_base_distribution

from libsysinfo.welcome import fmt_sysversion, fmt_welcome, read_version, release_of

ENCODING = stdin.encoding  # most likely 'utf-8'


def welcome_line() -> str:
    # The hostname as the machine has it: upstream's str.capitalize() made
    # keel-web1 "Keel-web1". The release from /etc/keel_version, or from
    # /etc/turnkey_version; the base distribution from lsb_release as before.
    release = release_of(read_version())
    return fmt_welcome(socket.gethostname(),
                       fmt_sysversion(release, fmt_base_distribution()))


def indent(level, s) -> str:
    return "\n".join([(" " * level + line) for line in s.splitlines()])


def main():
    print(welcome_line())

    turnkey_sysinfo = subprocess.run(["turnkey-sysinfo"],
                                     capture_output=True, text=True).stdout
    print()
    print(indent(2, turnkey_sysinfo))
    print()


if __name__ == "__main__":
    main()
