Closed khsrali closed 3 weeks ago
Hm, indeed right now pyfirecrest doesn't really use this much. The only case where it is used, is for some incompatibility issue with the object storage link in external transfers. When an endpoint is new then in theory the client can easily catch the 404 result from the server, but when new arguments are added then they are silently ignored (as you mentioned in the recursive ls). I could go through the different versions' release notes and implement this, but to be honest it's a bit low in my current priorities and with the holiday season I would say that this may be ready by the end of August. I hope this is okay 😅
I opened a PR on this, only because already had a look, and was half the way through... If you don't like the approach, feel free to solve it in a different way :) But I'm not in a hurry no worries :)
As far as I understand
self._api_version
is defined but not used.It would nice, if there was a check on functionalities that are not available in all version. If the api version is outdated, return
NotImplementedError
or even better a custom "NotImplementedOnAPI
" for those methods.Example: FirecREST
v1.15.0
for example, doesn't support recursivels
. in this case, if pyfirecrest is instantiated, withself._api_version=1.15.0
it should returnNotImplementedOnAPI
whenlist_files(recursive =True)
(this issue is indirectly related to https://github.com/eth-cscs/firecrest/issues/204)