blob: 95a2ce55d992a7dceb6ee22829d188f98fc7b6a6 [file] [log] [blame]
Guido van Rossume2ae77b2001-10-24 20:42:55 +00001"""A more or less complete dictionary like interface for the RISC OS environment."""
Guido van Rossum228d8072001-03-02 05:58:11 +00002
3import riscos
4
5class _Environ:
Martin v. Löwisa90f4382001-03-07 09:05:45 +00006 def __init__(self, initial = None):
Guido van Rossum228d8072001-03-02 05:58:11 +00007 pass
8 def __repr__(self):
9 return repr(riscos.getenvdict())
10 def __cmp__(self, dict):
Guido van Rossume2ae77b2001-10-24 20:42:55 +000011 return cmp(riscos.getenvdict(), dict)
Guido van Rossum228d8072001-03-02 05:58:11 +000012 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):
Martin v. Löwisf115a082001-03-07 09:08:11 +000021 riscos.putenv(key, item)
Guido van Rossum228d8072001-03-02 05:58:11 +000022 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
Raymond Hettinger0e449232003-01-30 00:56:33 +000035 def __contains__(self, key):
36 return riscos.getenv(key) is not None
Guido van Rossum228d8072001-03-02 05:58:11 +000037 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