Manual py3k backport: [svn r74155] Issue #6242: Fix deallocator of io.StringIO and...
[python.git] / Lib / plat-riscos / riscosenviron.py
blob95a2ce55d992a7dceb6ee22829d188f98fc7b6a6
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 __contains__(self, key):
36 return riscos.getenv(key) is not None
37 def update(self, dict):
38 for k, v in dict.items():
39 riscos.putenv(k, v)
40 def get(self, key, failobj=None):
41 value = riscos.getenv(key)
42 if value<>None:
43 return value
44 else:
45 return failobj