uncloud-cli/bin/uncloud-cli

48 lines
1.3 KiB
Python
Executable File

#!/usr/bin/env python3
import click
import sys
import logging
from logging.handlers import SysLogHandler
from uncloud_cli.commands.vm import vm
from uncloud_cli.commands.user import user
from uncloud_cli.commands.host import host
from uncloud_cli.commands.image import image
from uncloud_cli.commands.network import network
from uncloud_cli.helper import exception_handler, NoTracebackStreamHandler
@click.group()
def entry_point():
pass
if __name__ == "__main__":
sys.excepthook = exception_handler
# Setting up root logger
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
syslog_handler = SysLogHandler(address='/dev/log')
syslog_handler.setLevel(logging.DEBUG)
syslog_formatter = logging.Formatter('%(pathname)s:%(lineno)d -- %(levelname)-8s %(message)s')
syslog_handler.setFormatter(syslog_formatter)
stream_handler = NoTracebackStreamHandler()
stream_handler.setLevel(logging.INFO)
stream_formatter = logging.Formatter('%(message)s')
stream_handler.setFormatter(stream_formatter)
logger.addHandler(syslog_handler)
logger.addHandler(stream_handler)
entry_point.add_command(vm)
entry_point.add_command(user)
entry_point.add_command(image)
entry_point.add_command(host)
entry_point.add_command(network)
entry_point()