Skip to content

Commit 08bd231

Browse files
author
Cipher
committed
fix: address CodeRabbit review feedback
1. Add stacklevel=2 to all warnings.warn() calls for better tracebacks - Helps developers see where the warning originates 2. Fix SUPPORTED_READERS key in fallback test from 'itk' to 'itkreader' - Ensures test actually exercises the warn-and-skip fallback path - Was using wrong key, preventing the patch from working These fixes improve warning clarity and test effectiveness per CodeRabbit review. Signed-off-by: Cipher <cipher@openclaw.ai>
1 parent 9f39465 commit 08bd231

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

monai/transforms/io/array.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ def __init__(
216216
f"If you want to use an alternative reader, do not specify the `reader` argument."
217217
) from e
218218
except TypeError: # the reader doesn't have the corresponding args/kwargs
219-
warnings.warn(f"{_r} is not supported with the given parameters {args} {kwargs}.")
219+
warnings.warn(f"{_r} is not supported with the given parameters {args} {kwargs}.", stacklevel=2)
220220
self.register(the_reader())
221221
elif inspect.isclass(_r):
222222
try:
@@ -229,7 +229,7 @@ def __init__(
229229
f"If you want to use an alternative reader, do not specify the `reader` argument."
230230
) from e
231231
except TypeError: # the reader doesn't have the corresponding args/kwargs
232-
warnings.warn(f"{_r.__name__} is not supported with the given parameters {args} {kwargs}.")
232+
warnings.warn(f"{_r.__name__} is not supported with the given parameters {args} {kwargs}.", stacklevel=2)
233233
self.register(_r())
234234
else:
235235
self.register(_r) # reader instance, ignoring the constructor args/kwargs
@@ -244,7 +244,7 @@ def register(self, reader: ImageReader):
244244
245245
"""
246246
if not isinstance(reader, ImageReader):
247-
warnings.warn(f"Preferably the reader should inherit ImageReader, but got {type(reader)}.")
247+
warnings.warn(f"Preferably the reader should inherit ImageReader, but got {type(reader)}.", stacklevel=2)
248248
self.readers.append(reader)
249249

250250
def __call__(self, filename: Sequence[PathLike] | PathLike, reader: ImageReader | None = None):

tests/transforms/test_load_image.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -536,13 +536,13 @@ def test_unspecified_reader_falls_back_silently(self):
536536

537537
# Patch a few readers to fail (e.g., ITKReader)
538538
try:
539-
original_itk = SUPPORTED_READERS.get("itk")
539+
original_itk = SUPPORTED_READERS.get("itkreader")
540540

541541
def failing_reader(*args, **kwargs):
542542
raise OptionalImportError("itk not installed")
543543

544544
# Temporarily replace ITKReader with a failing version
545-
SUPPORTED_READERS["itk"] = failing_reader
545+
SUPPORTED_READERS["itkreader"] = failing_reader
546546

547547
# Capture log output to verify warn-and-skip was invoked
548548
with self.assertLogs("LoadImage", level="DEBUG") as cm:
@@ -555,7 +555,7 @@ def failing_reader(*args, **kwargs):
555555
finally:
556556
# Restore original reader
557557
if original_itk is not None:
558-
SUPPORTED_READERS["itk"] = original_itk
558+
SUPPORTED_READERS["itkreader"] = original_itk
559559

560560
def test_explicit_reader_available_succeeds(self):
561561
"""When the user explicitly names a reader whose package IS installed, no exception is raised."""

0 commit comments

Comments
 (0)