diff --git a/src/mpsd_software_manager/spack.py b/src/mpsd_software_manager/spack.py index 2c08de4742d04d63ad1101beda20412626a97c8e..f5b0bbee1247e7429b8f4f5dbe96b84e0cae5bf2 100644 --- a/src/mpsd_software_manager/spack.py +++ b/src/mpsd_software_manager/spack.py @@ -349,7 +349,15 @@ def refresh_modules(compilers: dict[str, Any] | None = None) -> None: r'depends_on\("(intel-oneapi-compilers/[0-9.]+)"\)', classic_content ) # match.group(1) will fail should we not find the line (should never happen) - oneapi_module = match.group(1) + ".lua" + try: + oneapi_module = match.group(1) + ".lua" + except (AttributeError, IndexError) as e: + logger.error( + "Failed to find 'depends_on(intel-oneapi-compilers/...)' in '%s'", + module_file, + classic_content, + ) + raise ModuleGenerationError() from e oneapi_module_file = Config().lmod_root / "Core" / oneapi_module modules_to_patch[oneapi_module_file] = { "family": ONEAPI_FAMILY, @@ -362,7 +370,7 @@ def refresh_modules(compilers: dict[str, Any] | None = None) -> None: # patch all intel modules try: with open(to_patch_file) as f: - modules_to_patch = yaml.load(f) + modules_to_patch = yaml.load(f, loader=yaml.Loader) except FileNotFoundError: logger.debug("No intel modules to patch") return