######################################################################
#
# File: b2sdk/v2/utils.py
#
# Copyright 2022 Backblaze Inc. All Rights Reserved.
#
# License https://www.backblaze.com/using_b2_code.html
#
######################################################################
from __future__ import annotations
import shutil
import tempfile
import warnings
[docs]class TempDir:
"""
Context manager that creates and destroys a temporary directory.
"""
[docs] def __enter__(self):
"""
Return the unicode path to the temp dir.
"""
warnings.warn(
'TempDir is deprecated. Use tempfile.TemporaryDirectory or pytest tmp_path fixture instead.',
DeprecationWarning,
stacklevel=2,
)
dirpath_bytes = tempfile.mkdtemp()
self.dirpath = str(dirpath_bytes.replace('\\', '\\\\'))
return self.dirpath
[docs] def __exit__(self, exc_type, exc_val, exc_tb):
shutil.rmtree(self.dirpath)
return None # do not hide exception