Browse Source

Handle non-ascii chars in volume directories

Signed-off-by: Mazz Mosley <[email protected]>
Mazz Mosley 10 years ago
parent
commit
0375dccf64
2 changed files with 6 additions and 1 deletions
  1. 1 1
      compose/config/config.py
  2. 5 0
      tests/unit/config/config_test.py

+ 1 - 1
compose/config/config.py

@@ -501,7 +501,7 @@ def resolve_volume_path(volume, working_dir, service_name):
         if host_path.startswith('.'):
             host_path = expand_path(working_dir, host_path)
         host_path = os.path.expanduser(host_path)
-        return "{}:{}".format(host_path, container_path)
+        return u"{}:{}".format(host_path, container_path)
     else:
         return container_path
 

+ 5 - 0
tests/unit/config/config_test.py

@@ -575,6 +575,11 @@ class VolumeConfigTest(unittest.TestCase):
         }, working_dir='.')
         self.assertEqual(d['volumes'], ['~:/data'])
 
+    def test_volume_path_with_non_ascii_directory(self):
+        volume = u'/Füü/data:/data'
+        container_path = config.resolve_volume_path(volume, ".", "test")
+        self.assertEqual(container_path, volume)
+
 
 class MergePathMappingTest(object):
     def config_name(self):