Skip to content

Commit c15b586

Browse files
authored
Merge pull request #743 from d4l3k/master
fsspec/implementations/local: correctly report seekable
2 parents cfbf325 + bd0f7d2 commit c15b586

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

fsspec/implementations/local.py

+3
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,9 @@ def tell(self, *args, **kwargs):
315315
def seek(self, *args, **kwargs):
316316
return self.f.seek(*args, **kwargs)
317317

318+
def seekable(self, *args, **kwargs):
319+
return self.f.seekable(*args, **kwargs)
320+
318321
def readline(self, *args, **kwargs):
319322
return self.f.readline(*args, **kwargs)
320323

fsspec/implementations/tests/test_local.py

+15
Original file line numberDiff line numberDiff line change
@@ -724,3 +724,18 @@ def test_info_path_like(tmpdir):
724724

725725
fs = LocalFileSystem()
726726
assert fs.exists(path)
727+
728+
729+
def test_seekable(tmpdir):
730+
fs = LocalFileSystem()
731+
tmpdir = str(tmpdir)
732+
fn0 = os.path.join(tmpdir, "target")
733+
734+
with open(fn0, "wb") as f:
735+
f.write(b"data")
736+
737+
f = fs.open(fn0, "rt")
738+
assert f.seekable(), "file is not seekable"
739+
f.seek(1)
740+
assert f.read(1) == "a"
741+
assert f.tell() == 2

fsspec/implementations/tests/test_memory.py

+12
Original file line numberDiff line numberDiff line change
@@ -138,3 +138,15 @@ def test_rm_reursive_empty_subdir(m):
138138
m.mkdir("recdir/subdir2")
139139
m.rm("recdir/", recursive=True)
140140
assert not m.exists("dir")
141+
142+
143+
def test_seekable(m):
144+
fn0 = "foo.txt"
145+
with m.open(fn0, "wb") as f:
146+
f.write(b"data")
147+
148+
f = m.open(fn0, "rt")
149+
assert f.seekable(), "file is not seekable"
150+
f.seek(1)
151+
assert f.read(1) == "a"
152+
assert f.tell() == 2

0 commit comments

Comments
 (0)