Radicale icon indicating copy to clipboard operation
Radicale copied to clipboard

Support Python CalDAV library

Open jfarcher opened this issue 10 years ago • 4 comments

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.

jfarcher avatar Nov 08 '14 00:11 jfarcher

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).

liZe avatar Nov 10 '14 09:11 liZe

@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

untitaker avatar Nov 30 '14 12:11 untitaker

Thanks, I'll take a look. Although I have found an alternative, it's using PHP and I'd much rather use python.

jfarcher avatar Nov 30 '14 20:11 jfarcher

Same issue! Was hoping to use python CALDAV to r/w my local Radicale server :(

Anyone have success using the unitaker code?

canDry avatar Apr 11 '17 05:04 canDry

closed as related to really old verison, please reopen if reproducable with current version

pbiering avatar Oct 17 '24 05:10 pbiering