This commit was manufactured by cvs2svn to create tag 'r221c2'.
[python/dscho.git] / Lib / plat-riscos / riscosenviron.py
blobd92aa31722d9d22d2c5265a2b307cf1a992ffeb1
1 """A more or less complete dictionary like interface for the RISC OS environment."""
3 import riscos
5 class _Environ:
6 def __init__(self, initial = None):
7 pass
8 def __repr__(self):
9 return repr(riscos.getenvdict())
10 def __cmp__(self, dict):
11 return cmp(riscos.getenvdict(), dict)
12 def __len__(self):
13 return len(riscos.getenvdict())
14 def __getitem__(self, key):
15 ret = riscos.getenv(key)
16 if ret<>None:
17 return ret
18 else:
19 raise KeyError
20 def __setitem__(self, key, item):
21 riscos.putenv(key, item)
22 def __delitem__(self, key):
23 riscos.delenv(key)
24 def clear(self):
25 # too dangerous on RISC OS
26 pass
27 def copy(self):
28 return riscos.getenvdict()
29 def keys(self): return riscos.getenvdict().keys()
30 def items(self): return riscos.getenvdict().items()
31 def values(self): return riscos.getenvdict().values()
32 def has_key(self, key):
33 value = riscos.getenv(key)
34 return value<>None
35 def update(self, dict):
36 for k, v in dict.items():
37 riscos.putenv(k, v)
38 def get(self, key, failobj=None):
39 value = riscos.getenv(key)
40 if value<>None:
41 return value
42 else:
43 return failobj