diff --git a/doc/changelog.d/4267.fixed.md b/doc/changelog.d/4267.fixed.md new file mode 100644 index 0000000000..d0dd1191ad --- /dev/null +++ b/doc/changelog.d/4267.fixed.md @@ -0,0 +1 @@ +Make get_slurm_options astype optional and preserve default type. diff --git a/src/ansys/mapdl/core/launcher.py b/src/ansys/mapdl/core/launcher.py index 32700880d8..1f7be4dc83 100644 --- a/src/ansys/mapdl/core/launcher.py +++ b/src/ansys/mapdl/core/launcher.py @@ -2066,7 +2066,7 @@ def get_value( variable: str, kwargs: Dict[str, str], default: Optional[Union[str, int, float]] = 1, - astype: Optional[Callable[[Any], Any]] = int, + astype: Optional[Callable[[Any], Any]] = None, ) -> str | int | float: value_from_env_vars = os.environ.get(variable) value_from_kwargs = kwargs.pop(variable, None) @@ -2077,8 +2077,13 @@ def get_value( if astype and value: return astype(value) + elif default is not None: + return type(default)(value) else: - return value + try: + return float(value) + except ValueError: + return str(value) ## Getting env vars SLURM_NNODES = get_value("SLURM_NNODES", kwargs) @@ -2112,7 +2117,7 @@ def get_value( LOG.info(f"SLURM_MEM_PER_NODE: {SLURM_MEM_PER_NODE}") SLURM_NODELIST = str( - get_value("SLURM_NODELIST", kwargs, default="") # type: ignore + get_value("SLURM_NODELIST", kwargs, default="", astype=str) # type: ignore ).lower() # type: ignore LOG.info(f"SLURM_NODELIST: {SLURM_NODELIST}")