Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# XRLint Change History

## Version 0.4.1 (in development)

- Fixed an issue that prevented recursively traversing folders referred
to by URLs (such as `s3://<bucket>/<path>/`) rather than local directory
paths. (#39)

## Version 0.4.0 (from 2025-01-27)

- Fixed and enhanced core rule `time-coordinate`. `(#33)
Expand Down
3 changes: 3 additions & 0 deletions xrlint/cli/engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,7 @@ def compute_config(p: str):
for file_path in file_paths:
_fs, root = fsspec.url_to_fs(file_path)
fs: fsspec.AbstractFileSystem = _fs
is_local = isinstance(fs, fsspec.implementations.local.LocalFileSystem)

config = compute_config(file_path)
if config is not None:
Expand All @@ -185,13 +186,15 @@ def compute_config(p: str):
for path, dirs, files in fs.walk(root, topdown=True):
for d in list(dirs):
d_path = f"{path}/{d}"
d_path = d_path if is_local else fs.unstrip_protocol(d_path)
c = compute_config(d_path)
if c is not None:
dirs.remove(d)
yield d_path, c

for f in files:
f_path = f"{path}/{f}"
f_path = f_path if is_local else fs.unstrip_protocol(f_path)
c = compute_config(f_path)
if c is not None:
yield f_path, c
Expand Down
2 changes: 1 addition & 1 deletion xrlint/version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
version = "0.4.0"
version = "0.4.1.dev0"