Skip to content

Commit c77d750

Browse files
author
Hugo Osvaldo Barrera
committed
Drop etesync
The current [experimental] implementation is stale, and hasn't been maintained for a long time. Regrettably, not even its tests still work, and there nobody interested in maintaining it. If anyone is interested in re-implementing this in a third-party package, I can consider adding support for pluggable storages.
1 parent ddaeccb commit c77d750

File tree

18 files changed

+7
-593
lines changed

18 files changed

+7
-593
lines changed

β€ŽCHANGELOG.rst

+7
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@ Version 0.19.0
2929
you're validating certificate fingerprints, use `sha256` instead.
3030
- The ``google`` storage types no longer require ``requests-oauthlib``, but
3131
require ``python-aiohttp-oauthlib`` instead.
32+
- Vdirsyncer no longer includes experimental support for `EteSync
33+
<https://www.etesync.com/>`_. The existing integration had not been supported
34+
for a long time and no longer worked. Support for external storages may be
35+
added if anyone is interested in maintaining an EteSync plugin. EteSync
36+
users should consider using `etesync-dav`_.
37+
38+
.. _etesync-dav: https://github.com/etesync/etesync-dav
3239

3340
Version 0.18.0
3441
==============

β€ŽMANIFEST.in

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
prune docker
33
prune scripts
44
prune tests/storage/servers
5-
prune tests/storage/etesync
65
recursive-include tests/storage/servers/radicale *
76
recursive-include tests/storage/servers/skip *
87

β€ŽMakefile

-10
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ export REQUIREMENTS := release
1212
# Set this to true if you run vdirsyncer's test as part of e.g. packaging.
1313
export DETERMINISTIC_TESTS := false
1414

15-
# Run the etesync testsuite.
16-
export ETESYNC_TESTS := false
17-
1815
# Assume to run in CI. Don't use this outside of a virtual machine. It will
1916
# heavily "pollute" your system, such as attempting to install a new Python
2017
# systemwide.
@@ -30,11 +27,6 @@ PYTEST_ARGS =
3027

3128
TEST_EXTRA_PACKAGES =
3229

33-
ifeq ($(ETESYNC_TESTS), true)
34-
TEST_EXTRA_PACKAGES += git+https://github.com/etesync/[email protected]
35-
TEST_EXTRA_PACKAGES += django djangorestframework==3.8.2 wsgi_intercept drf-nested-routers
36-
endif
37-
3830
PYTEST = py.test $(PYTEST_ARGS)
3931
CODECOV_PATH = /tmp/codecov.sh
4032

@@ -45,7 +37,6 @@ ci-test:
4537
curl -s https://codecov.io/bash > $(CODECOV_PATH)
4638
$(PYTEST) --cov vdirsyncer --cov-append tests/unit/ tests/system/
4739
bash $(CODECOV_PATH) -c
48-
[ "$(ETESYNC_TESTS)" = "false" ] || make test-storage
4940

5041
ci-test-storage:
5142
curl -s https://codecov.io/bash > $(CODECOV_PATH)
@@ -83,7 +74,6 @@ install-dev:
8374
pip install -e .
8475
pip install -Ur test-requirements.txt $(TEST_EXTRA_PACKAGES)
8576
pip install pre-commit
86-
[ "$(ETESYNC_TESTS)" = "false" ] || pip install -Ue .[etesync]
8777
set -xe && if [ "$(REQUIREMENTS)" = "minimal" ]; then \
8878
pip install -U --force-reinstall $$(python setup.py --quiet minimal_requirements); \
8979
fi

β€Ždocs/config.rst

-50
Original file line numberDiff line numberDiff line change
@@ -349,56 +349,6 @@ or write anything to it.
349349
:param client_id/client_secret: OAuth credentials, obtained from the Google
350350
API Manager.
351351

352-
EteSync
353-
+++++++
354-
355-
`EteSync <https://www.etesync.com/>`_ is a new cloud provider for end to end
356-
encrypted contacts and calendar storage. Vdirsyncer contains **experimental**
357-
support for it.
358-
359-
To use it, you need to install some optional dependencies::
360-
361-
pip install vdirsyncer[etesync]
362-
363-
On first usage you will be prompted for the service password and the encryption
364-
password. Neither are stored.
365-
366-
.. storage:: etesync_contacts
367-
368-
Contacts for etesync.
369-
370-
::
371-
372-
[storage example_for_etesync_contacts]
373-
email = ...
374-
secrets_dir = ...
375-
#server_path = ...
376-
#db_path = ...
377-
378-
:param email: The email address of your account.
379-
:param secrets_dir: A directory where vdirsyncer can store the encryption
380-
key and authentication token.
381-
:param server_url: Optional. URL to the root of your custom server.
382-
:param db_path: Optional. Use a different path for the database.
383-
384-
.. storage:: etesync_calendars
385-
386-
Calendars for etesync.
387-
388-
::
389-
390-
[storage example_for_etesync_calendars]
391-
email = ...
392-
secrets_dir = ...
393-
#server_path = ...
394-
#db_path = ...
395-
396-
:param email: The email address of your account.
397-
:param secrets_dir: A directory where vdirsyncer can store the encryption
398-
key and authentication token.
399-
:param server_url: Optional. URL to the root of your custom server.
400-
:param db_path: Optional. Use a different path for the database.
401-
402352
Local
403353
+++++
404354

β€Žsetup.py

-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ def run(self):
5656
# Optional dependencies
5757
extras_require={
5858
"google": ["aiohttp-oauthlib"],
59-
"etesync": ["etesync==0.5.2", "django<2.0"],
6059
},
6160
# Build dependencies
6261
setup_requires=["setuptools_scm != 1.12.0"],

β€Žtests/storage/__init__.py

-7
Original file line numberDiff line numberDiff line change
@@ -254,9 +254,6 @@ async def test_discover_collection_arg(
254254

255255
@pytest.mark.asyncio
256256
async def test_collection_arg(self, get_storage_args):
257-
if self.storage_class.storage_name.startswith("etesync"):
258-
pytest.skip("etesync uses UUIDs.")
259-
260257
if self.supports_collections:
261258
s = self.storage_class(**await get_storage_args(collection="test2"))
262259
# Can't do stronger assertion because of radicale, which needs a
@@ -302,10 +299,6 @@ async def test_specialchars(
302299
((_, etag3),) = await aiostream.stream.list(s.list())
303300
assert etag2 == etag3
304301

305-
# etesync uses UUIDs for collection names
306-
if self.storage_class.storage_name.startswith("etesync"):
307-
return
308-
309302
assert collection in urlunquote(s.collection)
310303
if self.storage_class.storage_name.endswith("dav"):
311304
assert urlquote(uid, "/@:") in href

β€Žtests/storage/etesync/__init__.py

Whitespace-only changes.
Binary file not shown.

β€Žtests/storage/etesync/etesync_server/etesync_server/__init__.py

Whitespace-only changes.

β€Žtests/storage/etesync/etesync_server/etesync_server/settings.py

-122
This file was deleted.

β€Žtests/storage/etesync/etesync_server/etesync_server/urls.py

-37
This file was deleted.

β€Žtests/storage/etesync/etesync_server/etesync_server/wsgi.py

-15
This file was deleted.

β€Žtests/storage/etesync/etesync_server/manage.py

-22
This file was deleted.

β€Žtests/storage/etesync/test@localhost/auth_token

-1
This file was deleted.
-190 Bytes
Binary file not shown.

0 commit comments

Comments
Β (0)