aboutsummaryrefslogtreecommitdiffstats
path: root/csit.infra.dash/app/cdash/utils/utils.py
diff options
context:
space:
mode:
authorTibor Frank <tifrank@cisco.com>2024-07-16 09:33:26 +0000
committerTibor Frank <tifrank@cisco.com>2024-07-17 12:48:44 +0000
commit53b7082b70f15582c223ebe0bddce5feafaed5ba (patch)
treed6450d14e28764d9bcb6f3f932162228433537bb /csit.infra.dash/app/cdash/utils/utils.py
parentfe001acc08f303452b46ba2b2bcbc582f1ba44da (diff)
C-Dash: Make extraction of topo-arch more flexible
Change-Id: I5f59a881d6c23c3e40054a6d829abdcbcafb966b Signed-off-by: Tibor Frank <tifrank@cisco.com>
Diffstat (limited to 'csit.infra.dash/app/cdash/utils/utils.py')
-rw-r--r--csit.infra.dash/app/cdash/utils/utils.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/csit.infra.dash/app/cdash/utils/utils.py b/csit.infra.dash/app/cdash/utils/utils.py
index 62d4770937..8171c905c3 100644
--- a/csit.infra.dash/app/cdash/utils/utils.py
+++ b/csit.infra.dash/app/cdash/utils/utils.py
@@ -946,3 +946,25 @@ def get_url_logs(job_build: str) -> str:
return str()
else:
return str()
+
+
+def get_topo_arch(lst_job: list) -> str:
+ """Get the topology and architecture string from the job name.
+
+ :param lst_job: The job name split into substrings.
+ :type lst_job: list
+ :returns: String with information about topology and architecture.
+ :rtype: str
+ """
+
+ if len(lst_job) < 2:
+ return str()
+
+ if "x" in lst_job[1:-1]:
+ # External testbeds.
+ # The structure of the name:
+ # <to be removed>-x-<topo>-<arch>-<other parts separated by dashes>
+ return "-".join(lst_job[(lst_job.index("x") + 1):])
+ else:
+ # Topology and architecture are the last two substrings.
+ return "-".join(lst_job[-2:])