Commit graph

916 commits

Author SHA1 Message Date
Hugo Osvaldo Barrera
54a5bf4ad3
Merge pull request #953 from electrickite/shell-fetch
Add shell strategy to fetch params
2022-01-14 12:48:07 +01:00
Дилян Палаузов
1c6beae9b4 storage/base: for read_only storages do not overwrite the meta data 2022-01-14 13:10:49 +02:00
pre-commit-ci[bot]
59b95d9999 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2021-12-09 16:18:10 +00:00
Corey Hinshaw
4dd15716db Adds shell strategy to config fetch params to run command string in a shell 2021-12-09 11:17:43 -05:00
Hugo Osvaldo Barrera
c77d750ef6 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.
2021-10-05 22:13:59 +02:00
pre-commit-ci[bot]
63ef204835 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2021-09-27 18:57:05 +00:00
Hugo Osvaldo Barrera
48747463ed Remove unused code 2021-08-19 20:40:47 +02:00
Hugo Osvaldo Barrera
889183ec89 I think this makes sense 2021-08-18 18:20:04 +02:00
Hugo Osvaldo Barrera
cf1d082628 Use context managers for aio connectors
Not sure why we didn't do this initially, but this ensures that we
always close all connectors properly, and also gives much clearer scope
regarding their life-cycles.
2021-08-16 21:40:11 +02:00
Hugo Osvaldo Barrera
8830307e38 Drop syntax that won't run on Python 3.7 2021-08-07 17:26:01 +02:00
Hugo Osvaldo Barrera
fed1ee69c3 Run pyupgrade 2021-08-04 19:58:59 +02:00
Hugo Osvaldo Barrera
f3714fc493 Add type hints and configure mypy
Configure mypy as a pre-commit hook and add all type hints necessary for
mypy to pass.

There's still more work to be done here typing a lot more code, but this
provides a clear starting point.
2021-08-03 19:23:37 +02:00
Hugo Osvaldo Barrera
7b493416f7
Merge pull request #920 from pimutils/meta_delete
metasync: use None as no-value and delete missing values on syncing
2021-07-26 13:07:45 +02:00
Hugo Osvaldo Barrera
5b8f00e720 Sort imports 2021-07-25 18:35:47 +02:00
Дилян Палаузов
c0ccb3d1aa metasync: use None as no-value and delete missing values on syncing
- change the interface of Storage.get_meta() and .set_meta()
  to use '' as the empty value and None as missing value.

- When a property is missing (e.g calendar-color was removed)
  in the filesystem storage delete the 'color' file, and
  in the WebDAV storage issue propertyupdate/remove call.

- remove the property from [status]/[pair]/[collection].metadata

I have adjusted, but not run the test suite.  On the other side
I tested on real system: source is CalDAV - destination is filesystem;
and source is CalDAV, destination is CalDAV (another account)
2021-07-23 19:07:02 +02:00
Hugo Osvaldo Barrera
177748d3d1 Sync pairs asynchronously 2021-07-06 23:13:13 +02:00
Hugo Osvaldo Barrera
dfed9794cb Port google storage to use asyncio 2021-06-26 13:40:38 +02:00
Hugo Osvaldo Barrera
8d69b73c9e Fetch displaynames asynchronously 2021-06-26 13:40:38 +02:00
Hugo Osvaldo Barrera
1a1f6f0788 Initial async support
Add asyncio to the storage backends and most of the codebase. A lot of
it merely uses asyncio APIs, but still doesn't actually run several
things concurrently internally. Further improvements will be added on
top of these changes

Thanks to  Thomas Grainger (@graingert) for a few useful pointers
related to asyncio.
2021-06-26 13:40:35 +02:00
Hugo Osvaldo Barrera
7c9170c677 Remove unecessary indirection 2021-06-26 13:02:41 +02:00
Hugo Osvaldo Barrera
4930b5f389 Drop multithreading support
This is mainly in preparation to moving to an async architecture.
2021-06-26 13:02:41 +02:00
Hugo Osvaldo Barrera
59b6e24795
Merge pull request #905 from pimutils/showconfig
Add a command to print the current config
2021-06-19 13:38:15 +02:00
Hugo Osvaldo Barrera
29528123a3 Add a command to print the current config
This is intended to be used by external tools and integrations (such as
daemons which trigger `vdirsyncer` when there's a change in a
collection).
2021-06-16 19:03:50 +02:00
Hugo Osvaldo Barrera
72618e374d Fix double-use of a generation
The first use exhausted it, so the second iteration was empty.
2021-06-14 22:50:22 +02:00
Witcher01
c254b4ad1d fixed password.fetch option not using environment
the '_strategy_command' in 'fetchparams.cli' did not expand the path of
every argument, but only the first one (being the command to be
executed).
i fixed the '_strategy_command' function to apply the 'expand_path'
function to every member of the commands list.
2021-06-13 16:14:46 +02:00
Hugo Osvaldo Barrera
e70e8c03e8 Merge branch 'origin/master' into meta_description 2021-06-13 00:46:05 +02:00
Hugo Osvaldo Barrera
a9fa61040f Tidy up some collection initializations 2021-06-12 13:23:54 +02:00
Hugo Osvaldo Barrera
ee124f5c82 Improve readability of failed tests 2021-06-12 13:23:52 +02:00
Hugo Osvaldo Barrera
320ac6020b Tweak linter to ignore less issues 2021-06-12 12:58:13 +02:00
Bernhard Reiter
b9f5d88af9
Fixing docs/config.rst and code formatting 2021-06-02 13:52:10 +02:00
Bernhard Reiter
81895c291e
Make /storage/filesystem more flexible
by adding the optional fileignoreext parameter.
2021-05-19 18:00:09 +02:00
Bernhard Reiter
439e63f8ea
Make /storage/filesystem ignore .tmp files
Hardcode to ignore files with `.tmp` suffix as this is mentioned
in the vdir specification.
2021-05-19 17:51:57 +02:00
Hugo Osvaldo Barrera
d2d41e5df1 Use black to auto-format the codebase 2021-05-06 19:28:54 +02:00
Дилян Палаузов
bf67af609e Substitute the d: prefix for the DAV: namespace with no prefix (default namespace) 2021-03-09 22:23:12 +02:00
Дилян Палаузов
50cb2def73 Add calendar-description, addressbook-description to the meta data
When a CalDAV collection has calendar-description set and vdirsyncer
synchronizes the “meta” data, synchronize also the calendar description.

-- likewise for addressbook-description and calendar-order
2021-03-08 14:57:48 +02:00
Hugo Osvaldo Barrera
f281f956f1 Dedupe import 2020-08-06 12:42:00 +02:00
Hugo Osvaldo Barrera
7577fa2117 Update usage of deprecated method 2020-06-09 17:04:46 +02:00
Hugo Osvaldo Barrera
b1b4dd92fe Sort imports
I don't want to ever have to sort imports again. It's a poor use of
developer time. Automate this with a pre-commit hook, and check this on
CI.

Developers: I suggest you configure your editor to use
`reorder_python_imports`. It uses the standard sorting, and detects
first/third party libs well.
2020-06-09 14:34:45 +02:00
Hugo Osvaldo Barrera
9cb1f8d704 Drop support for Python 3.5 and 3.6 2020-06-09 14:33:14 +02:00
Amanda Hickman
c78ec6b3bd Little spelling fix (#695)
* Fixed spelling of "occurred"

* Fix spelling of occurred.

* fixed one lingering misspelling
2020-06-08 19:58:35 +02:00
Hugo Osvaldo Barrera
308289febf Remove python2 leftover code 2020-06-08 18:40:33 +02:00
Hugo Osvaldo Barrera
7e4a0be674 Upgrade flake8
Update to the latest flake8, and fix all code warnings related to that.
2020-06-08 18:40:31 +02:00
Hugo Osvaldo Barrera
cb4ba5b38c Fix linting errors
One more green checkmark! 
2020-06-08 15:39:01 +02:00
Hugo Osvaldo Barrera
e987d6eb4a Drop Python 3.4
Never gonna get master back to green working with a dead Python.
2020-06-08 13:34:17 +02:00
Markus Unterwaditzer
80a42e4c6c Fixes for open_graphical_browser, fixes #754 2018-07-19 21:14:30 +02:00
Markus Unterwaditzer
68f2cf3195 (backport) Make docs build independent of app 2018-06-13 18:25:10 +02:00
Markus Unterwaditzer
9e3c231cc3 Remove Python 3.3 support (#674)
* Remove Python 3.3 support
2017-10-02 14:38:54 +02:00
Markus Unterwaditzer
be33fd3ed3 Restructure vdirsyncer.sync 2017-10-01 21:44:14 +02:00
Markus Unterwaditzer
32d1fecbb4 New tests for sync status 2017-10-01 21:44:14 +02:00
Markus Unterwaditzer
3112e6899e Remove invalid ascii chars from xml, fix #626 (#668)
* Remove invalid ascii chars from xml, fix #626

* Add changelog

* Remove unused imports

* Fix errors on older Python versions

* Fix tests
2017-09-13 20:55:03 +02:00