utils.py 391 B

12345678910111213141516171819
  1. # -*- coding: utf-8 -*-
  2. import contextlib
  3. import os
  4. @contextlib.contextmanager
  5. def override_environ(**kwargs):
  6. save_env = dict(os.environ)
  7. for key, value in kwargs.items():
  8. if value is None:
  9. del os.environ[key]
  10. else:
  11. os.environ[key] = value
  12. try:
  13. yield
  14. finally:
  15. os.environ.clear()
  16. os.environ.update(save_env)