diff options
Diffstat (limited to 'purge_path')
-rwxr-xr-x | purge_path/purge_path.py | 39 |
1 files changed, 27 insertions, 12 deletions
diff --git a/purge_path/purge_path.py b/purge_path/purge_path.py index 322925b..dab14e4 100755 --- a/purge_path/purge_path.py +++ b/purge_path/purge_path.py @@ -1,20 +1,35 @@ #!/usr/bin/env python +from __future__ import print_function import os import sys - + + +def purge(path, pattern): + if not isinstance(path, list): + path = path.split(':') + + path_new = '' + for rec in path: + if rec == pattern: + # ignore pattern + continue + path_new += rec + ':' + + return path_new[:-1] + def main(): - ARGS = sys.argv[1:] - PATH = os.environ['PATH'] - PATH_NEW = [] - - for arg in ARGS: - for path in PATH.split(':'): - if arg in path: - continue - PATH_NEW.append(path) - - print("{0}".format(":".join(PATH_NEW))) + args = sys.argv[1:] + path_orig = os.environ['PATH'] + path_new = path_orig + + for arg in args: + path_new = purge(path_new, arg) + + if path_new: + print(path_new) + else: + print(path_orig) if __name__ in '__main__': |