| # Enable other layers to have modules in the same named directory |
| from pkgutil import extend_path |
| __path__ = extend_path(__path__, __name__) |
| |
| |
| # Borrowed from CalledProcessError |
| |
| class CommandError(Exception): |
| def __init__(self, retcode, cmd, output = None): |
| self.retcode = retcode |
| self.cmd = cmd |
| self.output = output |
| def __str__(self): |
| return "Command '%s' returned non-zero exit status %d with output: %s" % (self.cmd, self.retcode, self.output) |
| |
| def avoid_paths_in_environ(paths): |
| """ |
| Searches for every path in os.environ['PATH'] |
| if found remove it. |
| |
| Returns new PATH without avoided PATHs. |
| """ |
| import os |
| |
| new_path = '' |
| for p in os.environ['PATH'].split(':'): |
| avoid = False |
| for pa in paths: |
| if pa in p: |
| avoid = True |
| break |
| if avoid: |
| continue |
| |
| new_path = new_path + p + ':' |
| |
| new_path = new_path[:-1] |
| return new_path |