tools (common/files_utils): get_unique_name now uses and returns Path instances.
This commit is contained in:
parent
f9a034509c
commit
174f7bec4c
1 changed files with 7 additions and 7 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue