*** /usr/lib/python2.4/posixpath.py 2007-01-10 17:26:10.000000000 +0100 --- posixpath.py 2007-07-06 17:50:39.893615000 +0200 *************** *** 339,345 **** _varprog = None ! def expandvars(path): """Expand shell variables of form $var and ${var}. Unknown variables are left unchanged.""" global _varprog --- 339,345 ---- _varprog = None ! def expandvars(path, getenvFunc=os.getenv): """Expand shell variables of form $var and ${var}. Unknown variables are left unchanged.""" global _varprog *************** *** 357,365 **** name = m.group(1) if name.startswith('{') and name.endswith('}'): name = name[1:-1] ! if name in os.environ: tail = path[j:] ! path = path[:i] + os.environ[name] i = len(path) path += tail else: --- 357,366 ---- name = m.group(1) if name.startswith('{') and name.endswith('}'): name = name[1:-1] ! envValue = getenvFunc(name) ! if envValue is not None: tail = path[j:] ! path = path[:i] + envValue i = len(path) path += tail else: *** /usr/lib/python2.4/ntpath.py 2007-01-10 17:26:10.000000000 +0100 --- ntpath.py 2007-07-06 17:51:40.873067000 +0200 *************** *** 378,384 **** # XXX With COMMAND.COM you can use any characters in a variable name, # XXX except '^|<>='. ! def expandvars(path): """Expand shell variables of form $var and ${var}. Unknown variables are left unchanged.""" --- 378,384 ---- # XXX With COMMAND.COM you can use any characters in a variable name, # XXX except '^|<>='. ! def expandvars(path, getenvFunc=os.getenv): """Expand shell variables of form $var and ${var}. Unknown variables are left unchanged.""" *************** *** 410,417 **** try: index = path.index('}') var = path[:index] ! if var in os.environ: ! res = res + os.environ[var] except ValueError: res = res + path index = pathlen - 1 --- 410,418 ---- try: index = path.index('}') var = path[:index] ! value = getenvFunc(var) ! if value is not None: ! res = res + value except ValueError: res = res + path index = pathlen - 1 *************** *** 423,430 **** var = var + c index = index + 1 c = path[index:index + 1] ! if var in os.environ: ! res = res + os.environ[var] if c != '': res = res + c else: --- 424,432 ---- var = var + c index = index + 1 c = path[index:index + 1] ! envValue = getenvFunc(var) ! if envValue is not None: ! res = res + envValue if c != '': res = res + c else: