Index: Lib/os.py =================================================================== --- Lib/os.py (revision 60906) +++ Lib/os.py (working copy) @@ -408,8 +408,6 @@ except NameError: pass else: - import UserDict - # Fake unsetenv() for Windows # not sure about os2 here but # I'm guessing they are the same. @@ -423,39 +421,38 @@ from riscosenviron import _Environ elif name in ('os2', 'nt'): # Where Env Var Names Must Be UPPERCASE # But we store them as upper case - class _Environ(UserDict.IterableUserDict): + class _Environ(dict): def __init__(self, environ): - UserDict.UserDict.__init__(self) - data = self.data + dict.__init__(self) for k, v in environ.items(): - data[k.upper()] = v + self[k.upper()] = v def __setitem__(self, key, item): putenv(key, item) - self.data[key.upper()] = item + dict.__setitem__(self, key.upper(), item) def __getitem__(self, key): - return self.data[key.upper()] + return dict.__getitem__(self, key.upper()) try: unsetenv except NameError: def __delitem__(self, key): - del self.data[key.upper()] + dict.__delitem__(self, key.upper()) else: def __delitem__(self, key): unsetenv(key) - del self.data[key.upper()] + dict.__delitem__(self, key.upper()) def clear(self): - for key in self.data.keys(): + for key in self.keys(): unsetenv(key) - del self.data[key] + del self[key] def pop(self, key, *args): unsetenv(key) - return self.data.pop(key.upper(), *args) + return dict.pop(self, key.upper(), *args) def has_key(self, key): - return key.upper() in self.data + return key.upper() in self def __contains__(self, key): - return key.upper() in self.data + return key.upper() in self def get(self, key, failobj=None): - return self.data.get(key.upper(), failobj) + return dict.get(self, key.upper(), failobj) def update(self, dict=None, **kwargs): if dict: try: @@ -476,13 +473,13 @@ return dict(self) else: # Where Env Var Names Can Be Mixed Case - class _Environ(UserDict.IterableUserDict): + class _Environ(dict): def __init__(self, environ): - UserDict.UserDict.__init__(self) - self.data = environ + dict.__init__(self) + self.update(environ) def __setitem__(self, key, item): putenv(key, item) - self.data[key] = item + dict.__setitem__(self, key, item) def update(self, dict=None, **kwargs): if dict: try: @@ -506,16 +503,14 @@ else: def __delitem__(self, key): unsetenv(key) - del self.data[key] + dict.__delitem__(self, key) def clear(self): - for key in self.data.keys(): + for key in self.keys(): unsetenv(key) - del self.data[key] + del self[key] def pop(self, key, *args): unsetenv(key) - return self.data.pop(key, *args) - def copy(self): - return dict(self) + return dict.pop(self, key, *args) environ = _Environ(environ)