Commit graph

249 commits

Author SHA1 Message Date
Markus Unterwaditzer
e5d27d771d Style fixes 2014-12-30 18:13:55 +01:00
Markus Unterwaditzer
e933f6db44 Ensure updated items have the same UID (if any)
FastMail insists on this.
2014-12-30 18:07:27 +01:00
Markus Unterwaditzer
ce30ed7b8a Rewrite collections test 2014-12-30 13:23:45 +01:00
Markus Unterwaditzer
40b64139fd Add item_types test 2014-12-28 00:40:35 +01:00
Markus Unterwaditzer
9b442ebcf3 Enforce read-only attribute 2014-12-27 11:28:31 +01:00
Markus Unterwaditzer
e450baf0f8 finally silence flake8 2014-12-26 10:04:51 +01:00
Markus Unterwaditzer
37cd8aa88d Ignore error (not warning) 2014-12-26 01:23:38 +01:00
Markus Unterwaditzer
cdb25d61ec Move config parsing into cli module 2014-12-26 00:58:41 +01:00
Markus Unterwaditzer
6ef330aac5 Stricter config validation 2014-12-26 00:50:15 +01:00
Markus Unterwaditzer
f2d34f4784 Create cli.tasks 2014-12-25 23:59:02 +01:00
Markus Unterwaditzer
c2ec4cd3a3 Testsuite refactoring 2014-12-21 13:58:47 +01:00
Markus Unterwaditzer
548b397dbb Fix a refactoring bug 2014-12-20 13:50:01 +01:00
Markus Unterwaditzer
14699d3195 Fix test 2014-12-20 02:30:54 +01:00
Markus Unterwaditzer
cfe252d458 Make .cli a subpackage 2014-12-20 01:59:59 +01:00
Markus Unterwaditzer
3101572440 Add note regarding radicale bug
https://github.com/Kozea/Radicale/pull/236
2014-12-17 16:54:10 +01:00
Markus Unterwaditzer
90c9f227f3 Rename passwordeval to password_command
Fix #139
2014-12-17 14:58:26 +01:00
Markus Unterwaditzer
8266145443 Remove storage defaults from pair section
This feature didn't seem to be documented anyway.
2014-12-16 18:15:51 +01:00
Markus Unterwaditzer
2e2349c46d Add discover command 2014-12-16 17:20:02 +01:00
Markus Unterwaditzer
06a701bc10 Handle collections correctly
Fix #132

Passing the collections parameter used to mean that the storage should
append its value to the URL or path. This was a leaky abstraction for
the reasons explained in #132.

The new behavior removes this meaning from this parameter. Vdirsyncer
now maintains a cache of discovered collections.
2014-12-15 21:57:56 +01:00
Markus Unterwaditzer
1e8e931464 Clarify internal docstring 2014-12-15 21:18:37 +01:00
Markus Unterwaditzer
6b199474a6 Factor out deprecated config parsing 2014-12-15 21:12:54 +01:00
Markus Unterwaditzer
d9e4a5b767 Validate section names more strictly
This avoids any problems with status files
2014-12-15 20:52:32 +01:00
Markus Unterwaditzer
ddc47c2272 --force-delete is now a flag
Conflicts:
	tests/test_cli.py
	vdirsyncer/cli.py
2014-12-15 20:46:34 +01:00
Markus Unterwaditzer
a1f2d14c05 Refactor parse_config to use fileobject 2014-12-15 20:37:23 +01:00
Markus Unterwaditzer
e40ba55bd3 Build fixes 2014-12-11 21:51:03 +01:00
Markus Unterwaditzer
d91512d07e Even more fixes to config parsing 2014-12-11 20:12:59 +01:00
Markus Unterwaditzer
291edd7be0 Merge branch 'encodings'
Conflicts:
	vdirsyncer/storage/dav.py
2014-12-08 20:13:41 +01:00
Markus Unterwaditzer
61bf23588d Refactor! 2014-12-08 16:32:23 +01:00
Markus Unterwaditzer
3b6a2f3664 Clean up set comparison 2014-12-08 11:27:04 +01:00
Markus Unterwaditzer
ca5a9cd8f9 Stricten collection discovery test 2014-12-07 16:49:52 +01:00
Markus Unterwaditzer
741045c1be Rewrite DAV storages' encoding behavior
This is more explicit than the old behavior. See
https://github.com/Kozea/Radicale/issues/128 for the discussion that led
to this.
2014-12-07 15:11:42 +01:00
Markus Unterwaditzer
07de8a0cc4 Add another test re s.has 2014-12-06 16:40:39 +01:00
Markus Unterwaditzer
772f745832 get_multi now ignores duplicate input 2014-12-06 14:08:10 +01:00
Markus Unterwaditzer
08c07c4be4 New config format
See #141

Basically this tries to parse config values with JSON, if that fails,
the value is interpreted as string.

I'd greatly appreciate feedback on this and #141
2014-12-02 21:03:06 +01:00
Markus Unterwaditzer
566a988f32 Remove indirection for get_storage_args fixture 2014-12-01 00:11:23 +01:00
Markus Unterwaditzer
c234bce656 "A from B" => "B/A" 2014-12-01 00:11:05 +01:00
Markus Unterwaditzer
a7878c9342 Add radicale multifilesystem to test matrix 2014-11-30 13:41:09 +01:00
Markus Unterwaditzer
069f5dfa89 Deal with Radicale 0.7
Fix #138
2014-11-26 14:19:46 +01:00
Markus Unterwaditzer
37c2467f59 Stricten testsuite 2014-11-25 15:17:51 +01:00
Markus Unterwaditzer
ca30542801 Test against more item types 2014-11-04 21:16:37 +01:00
Markus Unterwaditzer
3fccfe19e7 Enforce alphabetic import order 2014-10-29 23:03:58 +01:00
Markus Unterwaditzer
4857292b5c New testcases for vobject joining 2014-10-21 18:26:02 +02:00
Markus Unterwaditzer
6bd5bf7422 Simplify sync code
Before deletion, vdirsyncer will now check if the item changed on the
other side, and induce a re-upload if the item did change.

Because of this behavior it is now possible to remove the special-casing
if no status is available.

Fix #128
2014-10-20 17:42:45 +02:00
Markus Unterwaditzer
f22548000b Fix another typo and add test assertion 2014-10-19 18:36:09 +02:00
Markus Unterwaditzer
93d29972ec Add testcase 2014-10-16 21:40:49 +02:00
Markus Unterwaditzer
29d80b7be0 Stop using multiprocessing.dummy.Pool
- Custom job queue with workers based on threads.
- Collection discovery is now done in a separate thread. Due to the
  gained flexibility, we could do the sync actions in separate threads
  too?
- The processes parameter has been removed, the related new option is
  only available on the CLI.
2014-10-16 21:40:49 +02:00
Markus Unterwaditzer
2d62c8716b Continue syncing pairs if one pair crashes
Fix #121

Vdirsyncer used to exit as a whole when one pair failed to synchronize
due to connection errors. The new behavior actually tries to synchronize
other pairs before exiting with a nonzero status code. The old behavior
can be restored with the --fail-fast flag.
2014-10-08 22:03:04 +02:00
vimbaer
64e9ef7dc3 Renamed evalcmd -> command, use py.test's tmpdir, allow arguments in passwordeval option. 2014-09-11 23:33:44 +02:00
vimbaer
4e895b8635 Added passwordeval as an option for the general config section. If no password is provided the command provided as passwordeval will be called with username and hostname as arguments. 2014-09-10 22:03:05 +02:00
Markus Unterwaditzer
9dbb359569 Fix failing testcase 2014-09-10 16:39:25 +02:00