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).
pull/14899/head
Toshio Kuratomi 10 years ago
parent 8c26d6d4f6
commit 61e9841e08

@ -206,13 +206,15 @@ class DataLoader():
'''
given = unquote(given)
given = to_unicode(given, errors='strict')
if given.startswith("/"):
if given.startswith(u"/"):
return os.path.abspath(given)
elif given.startswith("~"):
elif given.startswith(u"~"):
return os.path.abspath(os.path.expanduser(given))
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):
'''

Loading…
Cancel
Save