mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-05-29 12:29:10 -07:00
normalize path components to unicode before combining or operating on them
Note that this will break if we deal with non-utf8 paths. Fixing this way because converting everythig to byte strings instead is a very invasive task so it should be done as a specific feature to provide support for non-utf8 paths at some point in the future (if needed).
This commit is contained in:
parent
ef8bec18bf
commit
1f2595306a
1 changed files with 5 additions and 3 deletions
|
@ -199,13 +199,15 @@ class DataLoader():
|
||||||
'''
|
'''
|
||||||
|
|
||||||
given = unquote(given)
|
given = unquote(given)
|
||||||
|
given = to_unicode(given, errors='strict')
|
||||||
|
|
||||||
if given.startswith("/"):
|
if given.startswith(u"/"):
|
||||||
return os.path.abspath(given)
|
return os.path.abspath(given)
|
||||||
elif given.startswith("~"):
|
elif given.startswith(u"~"):
|
||||||
return os.path.abspath(os.path.expanduser(given))
|
return os.path.abspath(os.path.expanduser(given))
|
||||||
else:
|
else:
|
||||||
return os.path.abspath(os.path.join(self._basedir, given))
|
basedir = to_unicode(self._basedir, errors='strict')
|
||||||
|
return os.path.abspath(os.path.join(basedir, given))
|
||||||
|
|
||||||
def path_dwim_relative(self, path, dirname, source):
|
def path_dwim_relative(self, path, dirname, source):
|
||||||
'''
|
'''
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue