Introduce the new cs3-python-client library
This PR is to introduce the https://github.com/cs3org/cs3-python-client library.
It also includes a mini refactoring that drops the need for an independent getxattr() API, as well as the caching recently introduced, as the xattrs are always queried next to a stat call.
Marking as ready for review given that the code is pretty much complete. Once the build passes, we can review and merge this change.
Remaining developments:
- [x] convert the code dealing with
yielded exceptions fromreadfile(), now that the function canraisethem. - [x] rename exception messages (ENOENT goes into the cs3 library, EXCL_ERROR gets replaced from the library)
- [x] get rid of versioninv
Following https://github.com/cs3org/cs3-python-client/pull/8 we now pass the whole test suite:
$ pytest-3
============================== test session starts ===============================
platform linux -- Python 3.9.18, pytest-6.2.2, py-1.10.0, pluggy-0.13.1
rootdir: /root/WOPI
collected 20 items
test/test_storageiface.py
.................... [100%]
Therefore this is ready to review.
@micbar a heads-up about a larger-than-usual change.
Thanks. We are not using this Wopiserver anymore. We have now a fully integrated and tested solution in https://github.com/owncloud/ocis/tree/master/services/collaboration
In that solution we are using the go-cs3 bindings like we also use in reva.
Thanks. We are not using this Wopiserver anymore.
Thanks for the notice, I suspected that indeed. Will be interesting to see how that service evolves and if we could converge too, though from memory the ocis-integrated solution would not include some (non-strictly-wopi) features we use at CERN.