Skip to content

Commit 34b52b2

Browse files
authored
Add support for + modes to SSHFile (#51)
* Implement io.IOBase.seekable method * Add support for + modes to SSHFile
1 parent 5b29464 commit 34b52b2

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

sshfs/file.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ def __init__(
1818
self.fs = fs
1919
self.loop = fs.loop
2020

21-
# TODO: support r+ / w+ / a+
22-
if mode not in {"rb", "wb", "ab"}:
21+
if "t" in mode or "b" not in mode:
2322
raise ValueError(f"Unsupported file mode: {mode}")
2423

2524
self.path = path
@@ -79,13 +78,16 @@ async def _open_file(self):
7978
_close = _mirror_method("close")
8079

8180
def readable(self):
82-
return "r" in self.mode
81+
return "r" in self.mode or "+" in self.mode
82+
83+
def seekable(self):
84+
return "r" in self.mode or "w" in self.mode
8385

8486
def seekable(self):
8587
return True
8688

8789
def writable(self):
88-
return not self.readable()
90+
return any(x in self.mode for x in ["a", "w", "+"])
8991

9092
def close(self):
9193
if self._closed:

0 commit comments

Comments
 (0)