graalpython icon indicating copy to clipboard operation
graalpython copied to clipboard

Using the maven plugin with the default VirtualFileSystem leads to pathlib.Path.exists not working

Open timfel opened this issue 1 year ago • 0 comments

This can be observed when using pyfiglet with the maven plugin. The code of pyfiglet has this

path = importlib.resources.files('pyfiglet.fonts').joinpath(fn)
if path.exists():
    ...

path.exists() uses a stat call, and we raise (correctly) OSError for non-existing paths. But pathlib checks that the errno of that error is in a list of allowed errors, and otherwise just throws the exception upwards. The OSError raised from the VirtualFileSystem is errno 5: EIO, it should probably be errno 2: ENOENT.

timfel avatar Jun 21 '24 04:06 timfel