Fix Version/s: None
Currently passing a pathlib.Path results in an error. Change config.py such that a path can be passed in this way.
Suggestions from Tim Jenness:
add it here:
with additional note that "although a path.PathLib should probably have its own else branch in ButlerURI because we know it’s a local file by definition"
I've made one comment on the PR in that I'd prefer it if Config itself didn't force the Path to a str but let ButlerURI deal with it.
Don't worry about my comment about having a separate else. I was trying to say that for a general str argument we don't know if it's a local file or a http URI or whatever. For a Path we know for a fact it must be a local file so an else block could have dealt with it without having to check for the presence of file:// since by definition it can't have any URI scheme. Forcing it to str and relying on the old logic is fine.
Why would a local `scons` pass all the pytests but the PR CI fail on GH? GH seems to have failed a flake8 test, but nothing errored locally on lsst-devl.
I fixed the above with the latest commit, but still seems strange that flake8 should fail on GH but not locally when running scons.
I'm not sure I understand your suggestion about making a separate else block (probably because I don't know what is happening inside the isinstance(other, str) block, but this just does the simplest thing of casting to string if it's a Path. Let me know if you'd like me to change it.