From e4eaa24f5b861a252c54f065b13af3ce3f617ee2 Mon Sep 17 00:00:00 2001
From: Christoph Alt <christoph.alt@fau.de>
Date: Thu, 20 Oct 2022 11:17:58 +0200
Subject: [PATCH] added possiblity to deploy a add only a few dashboards and
 not necessarily all

---
 dashboards/deploy.py | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/dashboards/deploy.py b/dashboards/deploy.py
index 29bee74..6d52729 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)
 
 
-- 
GitLab