diff --git a/docker_registry/drivers/swift.py b/docker_registry/drivers/swift.py index 066bb11..bfbcda1 100644 --- a/docker_registry/drivers/swift.py +++ b/docker_registry/drivers/swift.py @@ -94,17 +94,18 @@ def list_directory(self, path=None): path += '/' _, directory = self._swift_connection.get_container( container=self._swift_container, - path=path) + prefix=path, + delimiter='/') if not directory: raise for inode in directory: # trim extra trailing slashes - if inode['name'].endswith('/'): - inode['name'] = inode['name'][:-1] + if inode['subdir'].endswith('/'): + inode['subdir'] = inode['subdir'][:-1] if self._root_path != '/': - inode['name'] = inode['name'].replace( + inode['subdir'] = inode['subdir'].replace( self._init_path() + '/', '', 1) - yield inode['name'] + yield inode['subdir'] except Exception: raise exceptions.FileNotFoundError('%s is not there' % path)