Skip to content

Commit ce569de

Browse files
authored
Slice of Openfiles should also be Opnfiles (fsspec#887)
1 parent ece2fe1 commit ce569de

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

fsspec/core.py

+6
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,12 @@ def __exit__(self, *args):
204204
break
205205
[s.__exit__(*args) for s in self]
206206

207+
def __getitem__(self, item):
208+
out = super().__getitem__(item)
209+
if isinstance(item, slice):
210+
return OpenFiles(out, mode=self.mode, fs=self.fs)
211+
return out
212+
207213
def __repr__(self):
208214
return "<List of %s OpenFile instances>" % len(self)
209215

fsspec/tests/test_core.py

+2
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,8 @@ def test_multi_context(tmpdir):
184184
assert isinstance(files, OpenFiles)
185185
assert isinstance(files[0], OpenFile)
186186
assert len(files) == 2
187+
assert isinstance(files[:1], OpenFiles)
188+
assert len(files[:1]) == 1
187189
with files as of:
188190
assert len(of) == 2
189191
assert not of[0].closed

0 commit comments

Comments
 (0)