Move _uniquepath to pathlib as unique_path.

Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
This commit is contained in:
Christian Neumüller
2019-08-28 09:21:03 +02:00
parent a98270eac0
commit 29bb0eda27
3 changed files with 19 additions and 12 deletions

View File

@@ -11,6 +11,7 @@ from functools import partial
from os.path import expanduser
from os.path import expandvars
from os.path import isabs
from os.path import normcase
from os.path import sep
from posixpath import sep as posix_sep
@@ -334,3 +335,12 @@ def fnmatch_ex(pattern, path):
def parts(s):
parts = s.split(sep)
return {sep.join(parts[: i + 1]) or sep for i in range(len(parts))}
def unique_path(path):
"""Returns a unique path in case-insensitive (but case-preserving) file
systems such as Windows.
This is needed only for ``py.path.local``; ``pathlib.Path`` handles this
natively with ``resolve()``."""
return type(path)(normcase(str(path.realpath())))