Skip to content

Commit bb4751e

Browse files
committed
Fix for issue #68: decode key before list_objects
1 parent 7f95af6 commit bb4751e

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

fs_s3fs/_s3fs.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
from fs.subfs import SubFS
2929
from fs.path import basename, dirname, forcedir, join, normpath, relpath
3030
from fs.time import datetime_to_epoch
31+
from urllib.parse import unquote
3132

3233

3334
def _make_repr(class_name, *args, **kwargs):
@@ -716,10 +717,11 @@ def gen_info():
716717
}
717718
yield Info(info)
718719
for _obj in result.get("Contents", ()):
719-
name = _obj["Key"][prefix_len:]
720+
_key = unquote(_obj["Key"])
721+
name = _key[prefix_len:]
720722
if name:
721723
with s3errors(path):
722-
obj = self.s3.Object(self._bucket_name, _obj["Key"])
724+
obj = self.s3.Object(self._bucket_name, _key)
723725
info = self._info_from_object(obj, namespaces)
724726
yield Info(info)
725727

0 commit comments

Comments
 (0)