Radicale
Radicale copied to clipboard
Support Python CalDAV library
I've been trying to utilise radicale as a backend calendaring system to be interrogated by a python script using the python calDAV library. However it seems that I cannot query the service using the library.
The python calDAV library comes with a suite of tests which can be run against a calDAV server, unfortunately Radicale doesn't fair too well. the following is the results from a test
Name Stmts Miss Cover Missing
caldav 2 0 100% caldav.davclient 89 6 93% 158, 207, 220-223 caldav.elements 0 0 100% caldav.elements.base 50 0 100% caldav.elements.cdav 67 0 100% caldav.elements.dav 26 0 100% caldav.lib 0 0 100% caldav.lib.error 19 1 95% 15 caldav.lib.namespace 7 0 100% caldav.lib.url 75 4 95% 65, 98, 103, 125 caldav.lib.vcal 6 0 100% caldav.objects 294 18 94% 56, 111, 132, 158, 186, 212, 215, 332, 337-339, 418, 453, 455, 463, 507, 523, 543
TOTAL 635 29 95%
Ran 19 tests in 45.955s
FAILED (errors=7, failures=4)
I have an owncloud instance running locally which I was able to test against, results weren't too different but the caldav queries worked perfectly. Here's the results from the owncloud tests.
Name Stmts Miss Cover Missing
caldav 2 0 100% caldav.davclient 89 6 93% 158, 207, 220-223 caldav.elements 0 0 100% caldav.elements.base 50 0 100% caldav.elements.cdav 67 0 100% caldav.elements.dav 26 0 100% caldav.lib 0 0 100% caldav.lib.error 19 1 95% 15 caldav.lib.namespace 7 0 100% caldav.lib.url 75 4 95% 65, 98, 103, 125 caldav.lib.vcal 6 0 100% caldav.objects 294 17 94% 56, 111, 132, 186, 212, 215, 332, 337-339, 418, 453, 455, 463, 507, 523, 543
TOTAL 635 28 96%
Ran 19 tests in 178.505s
FAILED (failures=1)
I'm just trying to work out what the numbers under the missing header represent.
To elaborate, the calendar search returns no results using the radicale server where owncloud correctly returns all results, I haven't been able to get any further than this.
Radicale is really bad at supporting clients it's not designed to support, and even worst at supporting RFCs and test suites. That's a feature, not a bug :).
I'm quite pessimistic about Radicale supporting this library, because this kind of tools generally follow the RFCs in a quite clever way, and Radicale is not clever at all (just like most of the buggy stupid clients). Even the WebDAV-based tools are not supported at all.
If you're increadibly patient, and really nice, and have many, many hours to spend, I'll be happy to help you to fix Radicale. But here's a wise tip: you should really try another server :(.
(The number under the "Missing" header are the lines not covered by the tests).
@jfarcher You might be able to reuse code from https://github.com/untitaker/vdirsyncer/blob/master/vdirsyncer/storage/dav.py. API description is at https://github.com/untitaker/vdirsyncer/blob/master/vdirsyncer/storage/base.py
Thanks, I'll take a look. Although I have found an alternative, it's using PHP and I'd much rather use python.
Same issue! Was hoping to use python CALDAV to r/w my local Radicale server :(
Anyone have success using the unitaker code?
closed as related to really old verison, please reopen if reproducable with current version