diff --git a/fsspec/implementations/memory.py b/fsspec/implementations/memory.py index 001b6a31e..f003a7db6 100644 --- a/fsspec/implementations/memory.py +++ b/fsspec/implementations/memory.py @@ -15,7 +15,7 @@ class MemoryFileSystem(AbstractFileSystem): protocol = "memory" root_marker = "" - def ls(self, path, detail=False): + def ls(self, path, detail=False, **kwargs): if path in self.store: # there is a key with this exact name, but could also be directory out = [ @@ -127,7 +127,10 @@ def copy(self, path1, path2, **kwargs): self.store[path2] = MemoryFile(self, path2, self.store[path1].getbuffer()) def cat(self, path): - return self.store[path].getvalue() + try: + return self.store[path].getvalue() + except KeyError: + raise FileNotFoundError(path) def _rm(self, path): del self.store[path] diff --git a/fsspec/mapping.py b/fsspec/mapping.py index e8b45e62f..2f27454da 100644 --- a/fsspec/mapping.py +++ b/fsspec/mapping.py @@ -71,10 +71,10 @@ def _str_to_key(self, s): def __getitem__(self, key, default=None): """Retrieve data""" - key = self._key_to_str(key) + k = self._key_to_str(key) try: - result = self.fs.cat(key) - except: # noqa: E722 + result = self.fs.cat(k) + except FileNotFoundError: if default is not None: return default raise KeyError(key) diff --git a/tox.ini b/tox.ini index 63dfc2449..e11080134 100644 --- a/tox.ini +++ b/tox.ini @@ -21,6 +21,7 @@ conda_deps= pytest pytest-cov fusepy==3.0.1 + msgpack-python<1.0.0 deps= hadoop-test-cluster==0.1.0