via_tempdir.py 933 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. from __future__ import annotations
  2. import logging
  3. from tempfile import mkdtemp
  4. from typing import TYPE_CHECKING
  5. from virtualenv.util.path import safe_delete
  6. from .via_disk_folder import AppDataDiskFolder
  7. if TYPE_CHECKING:
  8. from typing import NoReturn
  9. LOGGER = logging.getLogger(__name__)
  10. class TempAppData(AppDataDiskFolder):
  11. transient = True
  12. can_update = False
  13. def __init__(self) -> None:
  14. super().__init__(folder=mkdtemp())
  15. LOGGER.debug("created temporary app data folder %s", self.lock.path)
  16. def reset(self) -> None:
  17. """This is a temporary folder, is already empty to start with."""
  18. def close(self) -> None:
  19. LOGGER.debug("remove temporary app data folder %s", self.lock.path)
  20. safe_delete(self.lock.path)
  21. def embed_update_log(self, distribution: str, for_py_version: str) -> NoReturn:
  22. raise NotImplementedError
  23. __all__ = [
  24. "TempAppData",
  25. ]