Skip to content

Commit ec6a627

Browse files
committed
Make new safe module abstraction for update_paths
1 parent 5dac63e commit ec6a627

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

easybuild/tools/module_generator.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -243,15 +243,23 @@ def append_paths(self, key, paths, allow_abs=False, expand_relpaths=True):
243243
:param allow_abs: allow providing of absolute paths
244244
:param expand_relpaths: expand relative paths into absolute paths (by prefixing install dir)
245245
"""
246-
paths = self._filter_paths(key, paths)
247-
if paths is None:
248-
return ''
249246
return self.update_paths(key, paths, prepend=False, allow_abs=allow_abs, expand_relpaths=expand_relpaths)
250247

251248
def prepend_paths(self, key, paths, allow_abs=False, expand_relpaths=True):
252249
"""
253250
Generate prepend-path statements for the given list of paths.
254251
252+
:param key: environment variable to append paths to
253+
:param paths: list of paths to append
254+
:param allow_abs: allow providing of absolute paths
255+
:param expand_relpaths: expand relative paths into absolute paths (by prefixing install dir)
256+
"""
257+
return self.update_paths(key, paths, prepend=True, allow_abs=allow_abs, expand_relpaths=expand_relpaths)
258+
259+
def update_paths(self, key, paths, prepend=True, allow_abs=False, expand_relpaths=True):
260+
"""
261+
Generate append/prepend-path statements for the given list of paths.
262+
255263
:param key: environment variable to append paths to
256264
:param paths: list of paths to append
257265
:param allow_abs: allow providing of absolute paths
@@ -260,7 +268,7 @@ def prepend_paths(self, key, paths, allow_abs=False, expand_relpaths=True):
260268
paths = self._filter_paths(key, paths)
261269
if paths is None:
262270
return ''
263-
return self.update_paths(key, paths, prepend=True, allow_abs=allow_abs, expand_relpaths=expand_relpaths)
271+
return self._update_paths(key, paths, prepend, allow_abs, expand_relpaths)
264272

265273
def _modulerc_check_module_version(self, module_version):
266274
"""
@@ -551,7 +559,7 @@ def unload_module(self, mod_name):
551559
"""
552560
raise NotImplementedError
553561

554-
def update_paths(self, key, paths, prepend=True, allow_abs=False, expand_relpaths=True):
562+
def _update_paths(self, key, paths, prepend=True, allow_abs=False, expand_relpaths=True):
555563
"""
556564
Generate prepend-path or append-path statements for the given list of paths.
557565
@@ -955,7 +963,7 @@ def msg_on_unload(self, msg):
955963
print_cmd = "puts stderr %s" % quote_str(msg, tcl=True)
956964
return '\n'.join(['', self.conditional_statement("module-info mode unload", print_cmd, indent=False)])
957965

958-
def update_paths(self, key, paths, prepend=True, allow_abs=False, expand_relpaths=True):
966+
def _update_paths(self, key, paths, prepend=True, allow_abs=False, expand_relpaths=True):
959967
"""
960968
Generate prepend-path or append-path statements for the given list of paths.
961969
@@ -981,7 +989,7 @@ def update_paths(self, key, paths, prepend=True, allow_abs=False, expand_relpath
981989
abspaths = []
982990
for path in paths:
983991
if os.path.isabs(path) and not allow_abs:
984-
raise EasyBuildError("Absolute path %s passed to update_paths which only expects relative paths.",
992+
raise EasyBuildError("Absolute path %s passed to _update_paths which only expects relative paths.",
985993
path)
986994
elif not os.path.isabs(path):
987995
# prepend/append $root (= installdir) for (non-empty) relative paths
@@ -1426,7 +1434,7 @@ def modulerc(self, module_version=None, filepath=None, modulerc_txt=None):
14261434
return super(ModuleGeneratorLua, self).modulerc(module_version=module_version, filepath=filepath,
14271435
modulerc_txt=modulerc_txt)
14281436

1429-
def update_paths(self, key, paths, prepend=True, allow_abs=False, expand_relpaths=True):
1437+
def _update_paths(self, key, paths, prepend=True, allow_abs=False, expand_relpaths=True):
14301438
"""
14311439
Generate prepend_path or append_path statements for the given list of paths
14321440
@@ -1455,7 +1463,7 @@ def update_paths(self, key, paths, prepend=True, allow_abs=False, expand_relpath
14551463
if allow_abs:
14561464
abspaths.append(quote_str(path))
14571465
else:
1458-
raise EasyBuildError("Absolute path %s passed to update_paths which only expects relative paths.",
1466+
raise EasyBuildError("Absolute path %s passed to _update_paths which only expects relative paths.",
14591467
path)
14601468
else:
14611469
# use pathJoin for (non-empty) relative paths

0 commit comments

Comments
 (0)