Inconsistent error behavior when URL points to a file rather than a collection.
Using DAVFS I can point the connection to a resource rather than a directory and read the resource like this:
handle = DAVFS('https:/.../path/to/foo.txt') fp = handle.open('.') print fp.read() .....
Doing the same with OSFP leads to a ResourceInvalidError
handle = OSFS('/tmp/path/to/foo.txt')
So the behavior is different and inconsistent across the underlaying drivers. Not sure what the right behavior would be. I guess that the behavior of OSFS is correct. The constructors should accept only URLs pointing to a folder or a collection and raise ResourceInvalidError otherwise.
You may be right about that. Although for network filesystems, the check itself is an overhead.
I'm thinking that maybe it would be best to leave it as is, and document it as 'undefined behaviour'.