Mercurial > libervia-backend
diff sat/tools/common/files_utils.py @ 3091:2e1c3d33099b
tools (common/files_utils): get_unique_name now uses and returns Path instances.
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 20 Dec 2019 12:28:04 +0100 |
parents | ab2696e34d29 |
children | d6da17f6e4ce |
line wrap: on
line diff
--- a/sat/tools/common/files_utils.py Fri Dec 20 12:28:04 2019 +0100 +++ b/sat/tools/common/files_utils.py Fri Dec 20 12:28:04 2019 +0100 @@ -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