tools (common/files_utils): get_unique_name now uses and returns Path instances.

This commit is contained in:
Goffi 2019-12-20 12:28:04 +01:00
commit 174f7bec4c

View file

@ -18,18 +18,18 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
"""tools to help manipulating files"""
import os.path
from pathlib import Path
def get_unique_name(path):
"""generate a path with a name not conflicting with existing file
"""Generate a path with a name not conflicting with existing file
@param path(unicode): path to the file to create
@return (unicode): unique path (can be the same as path if there is not conflict)
@param path(str, Path): path to the file to create
@return (Path): unique path (can be the same as path if there is no conflict)
"""
ori_path = path
ori_path = Path(path)
idx = 1
while os.path.exists(path):
path = ori_path + "_" + str(idx)
while path.exists():
path = ori_path.with_name(ori_path.name + f"_{idx}")
idx += 1
return path