[x] Include a detailed description of the bug or suggestion
[x] Output of intake_esm.show_versions()
[x] Minimal, self-contained copy-pastable example that generates the issue if possible. Please be concise with code posted. See guidelines below on how to provide a good bug report:
Here's a quick checklist in what to include:
intake_esm.show_versions()
[x] Minimal, self-contained copy-pastable example that generates the issue if possible. Please be concise with code posted. See guidelines below on how to provide a good bug report:
Bug reports that follow these guidelines are easier to diagnose, and so are often handled much more quickly.
Description
Serializing a catalog to a local filesystem is broken with
fsspec
2023.10.0.What I Did
and I got:
The culprit is here : https://github.com/intake/intake-esm/blob/bfdfb5123d1df3d2bcf9b42493d81607e83e547b/intake_esm/cat.py#L185
In the recent
fsspec
release, Local filesystem now accepts both "file" and "local" as protocols. This,mapper.fs.protocol
is a tuple, and not a string anymore. I'm not sure if this was always the case, but I see in the git blame that typing annotation showing this were added 5 months ago (see https://github.com/fsspec/filesystem_spec/blame/e20f626b87b5bb87d223495a56aefd768272a7ca/fsspec/spec.py#L107)I see a
mapper.fs.unstrip_protocol
method that does what our f-string tries too. I can push a PR with this fix.Version information: output of
intake_esm.show_versions()