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 dashboards: logger.info(f"Try to upload {board}") board = getattr(boards, board) upload_dashboard(board(), folder=walberla_folder) if __name__ == "__main__": main()