Bug summary
When a local dataset path is provided via ile:// URI and contains escaped characters (e.g. %20, %27), _init_filesystem() passes the escaped path through to LocalFileSystem. This causes FileNotFoundError when opening files.
Reproduction
- Create a local directory whose name contains spaces or apostrophes.
- Convert it to URI using Path(...).as_uri().
- Call _init_filesystem(uri).
- Attempt s.open(f"{path}/v3-config.json").
Actual behavior
The returned path still contains URL-escaped characters and file open fails.
Expected behavior
For local filesystems, URL-escaped characters should be decoded before file operations.
Proposed fix
After url_to_fs(...), detect local protocols (ile/local) and apply URL decoding (urllib.parse.unquote) to the resolved path before returning it.