From 51abf452a10c744672701e4a057d78bbd93b1915 Mon Sep 17 00:00:00 2001 From: Markus Unterwaditzer Date: Sun, 20 Dec 2015 22:18:29 +0100 Subject: [PATCH 1/3] Fix up urlencoding of remotestorage --- vdirsyncer/storage/remotestorage.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/vdirsyncer/storage/remotestorage.py b/vdirsyncer/storage/remotestorage.py index b1cd353..7c60967 100644 --- a/vdirsyncer/storage/remotestorage.py +++ b/vdirsyncer/storage/remotestorage.py @@ -204,8 +204,6 @@ class RemoteStorage(Storage): data=item.raw.encode('utf-8'), headers=headers ) - if not response.url.endswith('/' + href): - raise exceptions.InvalidResponse('spec doesn\'t allow redirects') return href, response.headers['etag'] def update(self, href, item, etag): @@ -214,8 +212,7 @@ class RemoteStorage(Storage): return etag def upload(self, item): - href = utils.generate_href(item.ident) - href = utils.compat.urlquote(href, '@') + self.fileext + href = utils.generate_href(item.ident) + self.fileext return self._put(href, item, None) def delete(self, href, etag): From 435b25fbca8d6f918908c8f1d3c111fd86aa26f6 Mon Sep 17 00:00:00 2001 From: Markus Unterwaditzer Date: Sun, 20 Dec 2015 22:21:34 +0100 Subject: [PATCH 2/3] Test mysteryshack https://github.com/untitaker/mysteryshack This is the first remoteStorage server to be tested in Travis. I already started testing reStore (https://github.com/jcoglan/restore), but stopped the experiments because the server is unmaintained. --- .travis.yml | 12 ++++++++++++ scripts/make_travisconf.py | 18 ++++++++++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 70fe1ac..aeb1ac0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,6 +26,12 @@ matrix: include: - python: 2.7 env: BUILD=style + - python: 2.7 + env: BUILD=test REMOTESTORAGE_SERVER=mysteryshack REQUIREMENTS=devel + - python: 2.7 + env: BUILD=test REMOTESTORAGE_SERVER=mysteryshack REQUIREMENTS=release + - python: 2.7 + env: BUILD=test REMOTESTORAGE_SERVER=mysteryshack REQUIREMENTS=minimal - python: 2.7 env: BUILD=test DAV_SERVER=radicale REQUIREMENTS=devel - python: 2.7 @@ -68,6 +74,12 @@ matrix: env: BUILD=test DAV_SERVER=radicale REQUIREMENTS=minimal - python: 3.5 env: BUILD=style + - python: 3.5 + env: BUILD=test REMOTESTORAGE_SERVER=mysteryshack REQUIREMENTS=devel + - python: 3.5 + env: BUILD=test REMOTESTORAGE_SERVER=mysteryshack REQUIREMENTS=release + - python: 3.5 + env: BUILD=test REMOTESTORAGE_SERVER=mysteryshack REQUIREMENTS=minimal - python: 3.5 env: BUILD=test DAV_SERVER=radicale REQUIREMENTS=devel - python: 3.5 diff --git a/scripts/make_travisconf.py b/scripts/make_travisconf.py index 88f1a5c..bc80235 100644 --- a/scripts/make_travisconf.py +++ b/scripts/make_travisconf.py @@ -57,13 +57,23 @@ with section("matrix"): if python in ("2.7", "3.5"): dav_servers = ("radicale", "owncloud", "baikal", "davical") + rs_servers = ("mysteryshack",) else: dav_servers = ("radicale",) + rs_servers = () - for dav_server, requirements in itertools.product( - dav_servers, + for (server_type, server), requirements in itertools.product( + itertools.chain( + (("REMOTESTORAGE", x) for x in rs_servers), + (("DAV", x) for x in dav_servers) + ), ("devel", "release", "minimal") ): h() - p(" env: BUILD=test DAV_SERVER={} REQUIREMENTS={}" - .format(dav_server, requirements)) + p(" env: " + "BUILD=test " + "{server_type}_SERVER={server} " + "REQUIREMENTS={requirements}" + .format(server_type=server_type, + server=server, + requirements=requirements)) From 054a0f8cd2069a5b2372dbc3fce859c357b7db02 Mon Sep 17 00:00:00 2001 From: Markus Unterwaditzer Date: Mon, 21 Dec 2015 00:10:48 +0100 Subject: [PATCH 3/3] Install remotestorage extra in travis --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 38963c8..9bd0b4b 100644 --- a/Makefile +++ b/Makefile @@ -75,7 +75,11 @@ release: python setup.py sdist bdist_wheel upload install-dev: - pip install -e . + set -xe && if [ "$$REMOTESTORAGE_SERVER" != "skip" ]; then \ + pip install -e .[remotestorage]; \ + else \ + pip install -e .; \ + fi set -xe && if [ "$$REQUIREMENTS" = "devel" ]; then \ pip install -U --force-reinstall git+https://github.com/kennethreitz/requests; \ elif [ "$$REQUIREMENTS" = "minimal" ]; then \