From 23463d4460e1e587aea638393d98c828b64246ee Mon Sep 17 00:00:00 2001
From: iamashwin99 <ashwin-kumar.karnad@mpsd.mpg.de>
Date: Fri, 22 Dec 2023 12:20:46 +0100
Subject: [PATCH] Add get_important_folders function to filesystem_utils.py

---
 .../utils/filesystem_utils.py                 | 29 +++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/src/mpsd_software_manager/utils/filesystem_utils.py b/src/mpsd_software_manager/utils/filesystem_utils.py
index 91f0bec..8a962be 100644
--- a/src/mpsd_software_manager/utils/filesystem_utils.py
+++ b/src/mpsd_software_manager/utils/filesystem_utils.py
@@ -129,3 +129,32 @@ def clone_repo(
                 raise Exception(msg, branches_result)
             else:
                 run(["git", "pull"], check=True, capture_output=capture_output)
+
+
+def get_important_folders(
+    mpsd_release: str,
+    root_dir: Path,
+):
+    """
+    Returns a dictionary of important folders for scripts, as currently envisioned.
+
+    """
+    release_base_dir = root_dir / mpsd_release
+    microarch = get_native_microarchitecture()
+    package_set_dir = release_base_dir / microarch  # Here lies spack and lmod folders
+    spack_dir = package_set_dir / "spack"
+    lmod_dir = package_set_dir / "lmod"
+    spack_setup_script = release_base_dir / "spack-environments" / "spack_setup.sh"
+    logs_dir = release_base_dir / "logs"
+    repo_path = release_base_dir / "spack-environments"
+
+    return {
+        "release_base_dir": release_base_dir,
+        "microarch": microarch,
+        "package_set_dir": package_set_dir,
+        "spack_dir": spack_dir,
+        "lmod_dir": lmod_dir,
+        "spack_setup_script": spack_setup_script,
+        "logs_dir": logs_dir,
+        "repo_path": repo_path,
+    }
-- 
GitLab