Minor refactor to use guard and replace instead of split+join

Signed-off-by: Daniel Nephin <dnephin@docker.com>
This commit is contained in:
Daniel Nephin 2015-10-20 11:49:10 -04:00
parent 725088a18b
commit f290faf4ba

View File

@ -943,23 +943,21 @@ def build_volume_binding(volume_spec):
def normalize_paths_for_engine(external_path, internal_path): def normalize_paths_for_engine(external_path, internal_path):
""" """Windows paths, c:\my\path\shiny, need to be changed to be compatible with
Windows paths, c:\my\path\shiny, need to be changed to be compatible with
the Engine. Volume paths are expected to be linux style /c/my/path/shiny/ the Engine. Volume paths are expected to be linux style /c/my/path/shiny/
""" """
if IS_WINDOWS_PLATFORM: if not IS_WINDOWS_PLATFORM:
return external_path, internal_path
if external_path: if external_path:
drive, tail = os.path.splitdrive(external_path) drive, tail = os.path.splitdrive(external_path)
if drive: if drive:
reformatted_drive = "/{}".format(drive.lower().replace(":", "")) external_path = '/' + drive.lower().rstrip(':') + tail
external_path = reformatted_drive + tail
external_path = "/".join(external_path.split("\\")) external_path = external_path.replace('\\', '/')
return external_path, "/".join(internal_path.split("\\")) return external_path, internal_path.replace('\\', '/')
else:
return external_path, internal_path
def parse_volume_spec(volume_config): def parse_volume_spec(volume_config):