38 lines
752 B

  1. #!/usr/bin/env python3
  2. import os
  3. import re
  4. from pathlib import Path
  5. CACHE_FOLDER = str(Path.home()) + "/.kosmorro-cache"
  6. class Environment:
  7. def __init__(self):
  8. self._vars = {}
  9. def __set__(self, key, value):
  10. self._vars[key] = value
  11. def __getattr__(self, key):
  12. return self._vars[key] if key in self._vars else None
  13. def __str__(self):
  14. return self._vars.__str__()
  15. def __len__(self):
  16. return len(self._vars)
  17. def get_env_vars() -> Environment:
  18. environment = Environment()
  19. for var in os.environ:
  20. if not re.search("^KOSMORRO_", var):
  21. continue
  22. [_, env] = var.split("_", 1)
  23. environment.__set__(env.lower(), os.getenv(var))
  24. return environment