Skip to content

Commit 71ddf09

Browse files
committed
Address review feedback
1 parent aaa2b8c commit 71ddf09

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

Lib/pathlib/_os.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -171,29 +171,32 @@ def _open_reader(obj):
171171
try:
172172
open_reader = cls.__open_reader__
173173
except AttributeError:
174-
raise TypeError(f"{cls.__name__} can't be opened for reading")
174+
cls_name = cls.__name__
175+
raise TypeError(f"{cls_name} can't be opened for reading") from None
175176
else:
176177
return open_reader(obj)
177178

178179

179180
def _open_writer(obj, mode):
180181
cls = type(obj)
181182
try:
182-
return cls.__open_writer__(obj, mode)
183+
open_writer = cls.__open_writer__
183184
except AttributeError:
184-
if hasattr(cls, '__open_writer__'):
185-
raise
186-
raise TypeError(f"{cls.__name__} can't be opened for writing")
185+
cls_name = cls.__name__
186+
raise TypeError(f"{cls_name} can't be opened for writing") from None
187+
else:
188+
return open_writer(obj, mode)
187189

188190

189191
def _open_updater(obj, mode):
190192
cls = type(obj)
191193
try:
192-
return cls.__open_updater__(obj, mode)
194+
open_updater = cls.__open_updater__
193195
except AttributeError:
194-
if hasattr(cls, '__open_updater__'):
195-
raise
196-
raise TypeError(f"{cls.__name__} can't be opened for updating")
196+
cls_name = cls.__name__
197+
raise TypeError(f"{cls_name} can't be opened for updating") from None
198+
else:
199+
return open_updater(obj, mode)
197200

198201

199202
def vfsopen(obj, mode='r', buffering=-1, encoding=None, errors=None,

0 commit comments

Comments
 (0)