kupferbootstrap/main.py
2021-09-30 17:19:55 +02:00

48 lines
1.2 KiB
Python
Executable file

#!/usr/bin/env python3
from packages import cmd_packages
from cache import cmd_cache
from image import cmd_image
from boot import cmd_boot
from flash import cmd_flash
from ssh import cmd_ssh
from forwarding import cmd_forwarding
from telnet import cmd_telnet
from logger import logging, setup_logging, verbose_option
import click
from config import config, config_option, cmd_config
from wrapper import nowrapper_option
from traceback import format_exc as get_trace
@click.group()
@verbose_option
@config_option
@nowrapper_option
def cli(verbose: bool = False, config_file: str = None, no_wrapper: bool = False):
setup_logging(verbose)
config.runtime['verbose'] = verbose
config.runtime['no_wrap'] = no_wrapper
config.try_load_file(config_file)
def main():
try:
return cli(prog_name='kupferbootstrap')
except Exception:
logging.fatal(get_trace())
exit(1)
cli.add_command(cmd_config)
cli.add_command(cmd_cache)
cli.add_command(cmd_packages)
cli.add_command(cmd_image)
cli.add_command(cmd_boot)
cli.add_command(cmd_flash)
cli.add_command(cmd_ssh)
cli.add_command(cmd_forwarding)
cli.add_command(cmd_telnet)
if __name__ == '__main__':
main()