diff --git a/sat/tools/common/files_utils.py b/sat/tools/common/files_utils.py index a8526294..64f8b42c 100644 --- a/sat/tools/common/files_utils.py +++ b/sat/tools/common/files_utils.py @@ -18,18 +18,18 @@ # along with this program. If not, see . """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