You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary:
* Use `features: posteo` instead of `url: https://posteo.de:8443/` in the connection configuration.
* Use `features: nextcloud` and `url: my.nextcloud.provider.eu` instead of `url: https://my.nextcloud.provider.eu/remote.php/dav`
Details:
* The server compatibility hints given during connection may now include basepath and domain
* If no URL is given in the connection parameters, or if the URL is just the domain name (without any slashes), then the URL will be deducted from the server compatibility hints.
* It's now possible to pass the features as a string label referencing the server. This is needed for configuration file support.
This solves #463
Documentation remains, it will be fixed later. The biggest providers like iCloud, Google and Fastmail is still mssing, it will be fixed later.
Auto-detection of the server in use is also missing. This is also procrastinated until later. (But obviously, if no URL is given, auto-detection will fail. For well-known cloud solutions, passing the label rather than the URL should always be easier).
This file serves as a database of different compatibility issues we've
4
4
encountered while working on the caldav library, and descriptions on
5
5
how the well-known servers behave.
6
+
7
+
TODO: it should probably be split with the "feature definitions",
8
+
"server implementation details" and "feature database logic" in three separate files.
6
9
"""
7
10
importcopy
8
11
@@ -19,8 +22,8 @@ class FeatureSet:
19
22
20
23
An object of this class describes the feature set of a server.
21
24
22
-
TODO: use enums?
23
-
type -> "client-feature", "server-peculiarity", "tests-behaviour", "server-observation", "server-feature" (last is default)
25
+
TODO: use enums? TODO: describe the different types TODO: think more through the different types, consolidate?
26
+
type -> "client-feature", "client-hints", "server-peculiarity", "tests-behaviour", "server-observation", "server-feature" (last is default)
24
27
support -> "supported" (default), "unsupported", "fragile", "quirk", "broken", "ungraceful"
25
28
26
29
types:
@@ -32,6 +35,22 @@ class FeatureSet:
32
35
* "support" -> "quirk" if we have a server-peculiarity where it's needed with special care to get the request through.
33
36
"""
34
37
FEATURES= {
38
+
"auto-connect": {
39
+
## Nothing here - everything is under auto-connect.url as for now.
40
+
## Other connection details - like what auth method to use - could also
41
+
## be under the auto-connect umbrella
42
+
"type": "client-hints",
43
+
},
44
+
"auto-connect.url": {
45
+
"description": "Instruction for how to access DAV. I.e. `/remote.php/dav` - see also https://github.com/python-caldav/caldav/issues/463. To be used in the get_davclient method if the URL only contains a domain",
46
+
"type": "client-hints",
47
+
"extra_keys": {
48
+
"basepath": "The path to append to the domain",
49
+
"domain": "Domain name may be given through the features - useful for well-known cloud solutions",
50
+
"scheme": "The scheme to prepend to the domain. Defaults to https",
51
+
## TODO: in the future, templates for the principal URL, calendar URLs etc may also be added.
52
+
}
53
+
},
35
54
"get-all-principals": {
36
55
"description": "Search for all principals, using a DAV REPORT query, yields at least one principal"
## TODO: Latest - mismatch between config and test script in delete-calendar.free-namespace ... and create-calendar.set-displayname?
744
+
ecloud=nextcloud| {
677
745
## TODO: this applies only to test runs, not to ordinary usage
678
746
'rate-limit': {
679
747
'enable': True,
680
748
'interval': 10,
681
749
'count': 1,
682
-
'description': "It's needed to manually empty trashbin frequently when running tests. Since this oepration takes some time and/or there are some caches, it's needed to run tests slowly, even when hammering the 'empty thrashbin' frequently"},
'description': "It's needed to manually empty trashbin frequently when running tests. Since this oepration takes some time and/or there are some caches, it's needed to run tests slowly, even when hammering the 'empty thrashbin' frequently",
751
+
},
752
+
'auto-connect.url': {
753
+
'basepath': '/remote.php/dav',
754
+
'domain': 'ecloud.global',
755
+
'scheme': 'https',
756
+
},
684
757
}
685
758
686
-
## ZIMBRA IS THE MOST SILLY, AND THERE ARE REGRESSIONS FOR EVERY RELEASE!
'search.comp-type-optional': {'support': 'fragile', 'description': 'unexpected results from date-search without comp-type - but only sometimes - TODO: research more'},
0 commit comments