diff --git a/dashboards/deploy.py b/dashboards/deploy.py index 29bee74cbebef4546033077e5bd86ead5ed71e3c..6d527297af949c98a5f04dd788f5adff12354099 100644 --- a/dashboards/deploy.py +++ b/dashboards/deploy.py @@ -1,10 +1,37 @@ +import argparse +import logging + import dashboards.dashboard_list as boards from dashboards.upload import upload_dashboard +logger = logging.getLogger(__file__) +logger.setLevel(logging.INFO) + + +def get_available_dashboards(): + yield from (func for func in dir(boards) if func.startswith("dashboard_")) + + +def strip_prefix(available): + return available.replace("dashboard_", "") + def main(): + available_dashboards = list(get_available_dashboards()) + parser = argparse.ArgumentParser(description="List Dashboards you want to deploy") + parser.add_argument("dashboards", + nargs='*', + help=', '.join((strip_prefix(d) for d in available_dashboards))) + args = parser.parse_args() + if len(args.dashboards) == 0: + dashboards = available_dashboards + else: + dashboards = (f"dashboard_{db}" for db in args.dashboards) + walberla_folder = 8 - for board in [getattr(boards, func) for func in dir(boards) if func.startswith("dashboard_")]: + for board in dashboards: + logger.info(f"Try to upload {board}") + board = getattr(boards, board) upload_dashboard(board(), folder=walberla_folder)