data-xexe/xexe/cli.py
2024-06-06 17:12:31 +02:00

47 lines
1.1 KiB
Python

import importlib.metadata
import logging
import click
import pyfiglet
from dotenv import load_dotenv
from xexe.constants import PATHS
from xexe.processes import run_xe_healthcheck
logging.basicConfig(
level=logging.DEBUG,
format="%(asctime)s - [%(levelname)s] - %(filename)s - L%(lineno)d - %(message)s",
handlers=[logging.FileHandler(PATHS.logging_file), logging.StreamHandler()],
)
logger = logging.getLogger()
load_dotenv(dotenv_path=PATHS.dot_env_file_path, verbose=True)
@click.group()
def cli():
logger.info(pyfiglet.figlet_format("\nWelcome to xexe", font="big"))
logger.info(f"Running xexe version: {importlib.metadata.version('xexe')}")
@cli.command()
def smoke_test():
print("Oink oink!")
print(
"""
__,---.__
,-' `-.__
&/ `._\ _\\
/ ''._
| , (")
|__,'`-..--|__|--''
"""
)
@cli.command()
def xe_healthcheck():
logger.info("Running healthcheck against xe.com API.")
run_xe_healthcheck()
logger.info("Healthcheck attempt finished.")