/Lib/plat-riscos/riscosenviron.py

http://unladen-swallow.googlecode.com/ · Python · 45 lines · 41 code · 2 blank · 2 comment · 5 complexity · 2b7c7f81e6bc057b5c04c5f83d2905c2 MD5 · raw file

  1. """A more or less complete dictionary like interface for the RISC OS environment."""
  2. import riscos
  3. class _Environ:
  4. def __init__(self, initial = None):
  5. pass
  6. def __repr__(self):
  7. return repr(riscos.getenvdict())
  8. def __cmp__(self, dict):
  9. return cmp(riscos.getenvdict(), dict)
  10. def __len__(self):
  11. return len(riscos.getenvdict())
  12. def __getitem__(self, key):
  13. ret = riscos.getenv(key)
  14. if ret<>None:
  15. return ret
  16. else:
  17. raise KeyError
  18. def __setitem__(self, key, item):
  19. riscos.putenv(key, item)
  20. def __delitem__(self, key):
  21. riscos.delenv(key)
  22. def clear(self):
  23. # too dangerous on RISC OS
  24. pass
  25. def copy(self):
  26. return riscos.getenvdict()
  27. def keys(self): return riscos.getenvdict().keys()
  28. def items(self): return riscos.getenvdict().items()
  29. def values(self): return riscos.getenvdict().values()
  30. def has_key(self, key):
  31. value = riscos.getenv(key)
  32. return value<>None
  33. def __contains__(self, key):
  34. return riscos.getenv(key) is not 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