Feature #181

Support Apple iCal and iPhone clients

Added by Guillaume Ayoub over 2 years ago. Updated about 2 years ago.

Status:RejectedStart date:09/11/2010
Priority:HighDue date:
Assignee:Guillaume Ayoub% Done:

50%

Category:-
Target version:0.5 - Historical Artifacts

Description

Radicale should support Apple iCal and iPhone clients.

With Radicale 0.4, these clients seem to behave the same way: they send 2 PROPFIND requests (to /user_name/calendar_name/ then /) and don't ask for the calendar content. The tags asked by the requests are unknown by Radicale, and the server just ignores them (by sending back an empty response).

Finding the good answers in the CalDAV RFC and adding some lines in the propfind method of xmlutils.py should help to fix this bug.


Related issues

Related to Radicale - Bug #252: Apple iCal support is broken Closed 04/02/2011

Associated revisions

Revision 9874129b
Added by Guillaume Ayoub over 2 years ago

Add simple support for calendar-user-address-set (references #181)

Revision 2e1b51e3
Added by Guillaume Ayoub over 2 years ago

Softly ignore /user/ PROPFIND and REPORT requests (references #181)

History

#1 Updated by Guillaume Ayoub over 2 years ago

  • Tracker changed from Support to Feature

#2 Updated by Guillaume Ayoub over 2 years ago

Thanks to Pete, here are some requests sent by various clients:

iCal

<?xml version="1.0" encoding="utf-8"?>
<x0:propfind xmlns:x0="DAV:">
 <x0:prop>
  <x0:principal-URL/>
 </x0:prop>
</x0:propfind>
"PROPFIND /pete/calendar/ HTTP/1.1" 207 -

<?xml version="1.0" encoding="utf-8"?>
<x0:propfind xmlns:x1="urn:ietf:params:xml:ns:caldav" xmlns:x0="DAV:" xmlns:x2="http://calendarserver.org/ns/">
 <x0:prop>
  <x0:principal-collection-set/>
  <x1:calendar-home-set/>
  <x1:calendar-user-address-set/>
  <x1:schedule-inbox-URL/>
  <x1:schedule-outbox-URL/>
  <x2:dropbox-home-URL/>
  <x2:xmpp-uri/>
  <x2:notification-URL/>
  <x0:displayname/>
  <x0:principal-URL/>
  <x0:supported-report-set/>
 </x0:prop>
</x0:propfind>
"PROPFIND /pete/calendar/ HTTP/1.1" 207 -

iPhone

<?xml version="1.0" encoding="utf-8"?>
<x0:propfind xmlns:x0="DAV:" xmlns:x2="http://calendarserver.org/ns/" xmlns:x1="urn:ietf:params:xml:ns:caldav" xmlns:x3="http://cal.me.com/_namespace/">
 <x0:prop>
  <x0:principal-collection-set/>
  <x1:calendar-home-set/>
  <x1:calendar-user-address-set/>
  <x1:schedule-inbox-URL/>
  <x1:schedule-outbox-URL/>
  <x2:dropbox-home-URL/>
  <x2:notification-URL/>
  <x0:displayname/>
  <x3:user-state/>
  <x0:principal-URL/>
  <x0:supported-report-set/>
 </x0:prop>
</x0:propfind>
"PROPFIND /pete/calendar/ HTTP/1.1" 207 -

The requests are not so different. Implementing the basic tags (at least x0, maybe x1) should be enough.

#3 Updated by Dorian - over 2 years ago

It seems that setting "calendar-home-set" or "calendar-user-address-set" in xmlutils's propfind is enough; however, I don't really understand what Apple iCal expects to see in these fields since the calendar is properly added in iCal (via Preferences, Accounts, Add) but it seems to be empty (no calendar shows up in the created group). If I debug, I see that in the subsequent update requests sent by iCal, radicale sends back the actual content of the calendar... which is ignored by iCal?

I assumed that calendar-user-address-set should contain the actual URL of the calendar (e.g. localhost:port/user/calendar). Is it?

This should be an easy fix if somebody understands what iCal expects to receive in these properties.

Thank you!

#4 Updated by Guillaume Ayoub over 2 years ago

The calendar-home-set property is managed in commit dcabf42. Please let me know if it helps!

#5 Updated by Guillaume Ayoub over 2 years ago

  • Assignee set to Guillaume Ayoub
  • % Done changed from 0 to 50

iPhone supported since 039e868.

#6 Updated by Björn Mosler over 2 years ago

I managed to subscribe to a calendar in iCal by adding those lines:

----------------------------- radicale/xmlutils.py -----------------------------
index ed986f1..ec7a860 100644
@@ -148,6 +148,10 @@ def propfind(path, xml_request, calendar, depth):
                 tag = ET.Element(_tag("D", "href"))
                 tag.text = path
                 element.append(tag)
+            elif tag == _tag("C", "calendar-user-address-set"):
+                tag = ET.Element(_tag("C", "href"))
+                tag.text = calendar
+                element.append(tag)
             elif tag == _tag("C", "supported-calendar-component-set"):
                 comp = ET.Element(_tag("C", "comp"))
                 comp.set("name", "VTODO") # pylint: disable=W0511

Of course sending the text representation of calendar cannot really be what iCal expects, but I was able to see events in the calendar. I could not add new events, though.

I am a bit confused that the property is only mentioned in a draft, but not in the "final" RFC. According to the draft (http://tools.ietf.org/html/draft-desruisseaux-caldav-sched-08#section-13.2.3) the server is either supposed to send a user's e-mail address or the "URI of their principal resource". Not sure how to get either of those, though.

Could someone with a Mac verify that it works after adding those lines? I only have access to a Mac once a week..

#7 Updated by Guillaume Ayoub over 2 years ago

Thank you for the patch, your help is highly appreciated.

As written in the RFC:

This property is needed to map calendar user addresses in iCalendar data to principal resources and their associated scheduling Inbox and Outbox collections. In the event that a ser has no well defined identifier for their calendar user address, the URI of their principal resource can be used.

As a consequence, using the calendar path does not seem to be so bad. I commited your lines into the git master. If Mac users could test this, I would (electronically) kiss them.

#8 Updated by Anders Ytterström over 2 years ago

https://skitch.com/madr/rcmy1/konton

Connecting to the server seems to work. When I try to create a calendar, however:

https://skitch.com/madr/rcmy7/terminal-python-119x19

But this is maybe supposed to happen?

#9 Updated by Guillaume Ayoub over 2 years ago

This was (unfortunately) supposed to happen. With Radicale, calendars are automatically created when they are requested. You don't have to create them, you just have to register/subscribe/follow calendars as if they were already existing.

By the way, I've just added a fake support for MKCALENDAR requests (pushed in git). iCal should be very happy now. RFC lovers too.

I don't know how iCal is working (yes, this is a problem to debug). Björn is able to retrieve events, he may help us to find a good configuration :-).

If you have anything that may be interesting (working PUT, GET or REPORT requests), feel free to add other comments and screenshots. Thank you.

:-* :-* :-* (I promised)

#10 Updated by Guillaume Ayoub over 2 years ago

Oh, I forgot: the MKCALENDAR request will only work if you create a calendar with an URL like /madr/cal1/. Creating /madr/cal1/my-calendar-name/ can lead to very strange behaviours.

#11 Updated by Anders Ytterström over 2 years ago

You are welcome. Glad to help.

A new report from after rebuilding from the git tree (I git-cloned it, and ran python setup.py [clean, build and last install]). This might be the incomplete way of doing it, but anyway.

1. started radicale in a fresh Terminal. https://skitch.com/madr/rpny5/terminal-bash-52x10
2. In iCal, I connected to localhost:5232. https://skitch.com/madr/rpnb8/ical (the warning is common in iCal, doesn't necessary mean something is broken). The terminal then spits out this:

----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 60378)
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 281, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 307, in process_request
    self.finish_request(request, client_address)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 320, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 615, in __init__
    self.handle()
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/BaseHTTPServer.py", line 329, in handle
    self.handle_one_request()
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/BaseHTTPServer.py", line 323, in handle_one_request
    method()
  File "/Library/Python/2.6/site-packages/radicale/__init__.py", line 227, in do_PROPFIND
    self.headers.get("depth", "infinity"))
  File "/Library/Python/2.6/site-packages/radicale/xmlutils.py", line 112, in propfind
    href.text = path if is_calendar else path + item.name
AttributeError: 'NoneType' object has no attribute 'name'
----------------------------------------

3. I continued, altering the second step of the form and created the account. https://skitch.com/madr/rpnbi/ical

4. When I create a calendar, iCal losts connection. https://skitch.com/madr/rpnr4/ical

Terminal says this:

madr.mu - - [04/Feb/2011 21:21:13] "PROPFIND /madr/cal1 HTTP/1.1" 207 -
madr.mu - - [04/Feb/2011 21:21:14] "PROPFIND /madr/cal1/ HTTP/1.1" 207 -
madr.mu - - [04/Feb/2011 21:21:14] "PROPFIND /madr/cal1/ HTTP/1.1" 207 -
madr.mu - - [04/Feb/2011 21:23:30] "MKCALENDAR /madr/cal1/14C363B5-DD64-4794-B871-929962107446/ HTTP/1.1" 201 -
madr.mu - - [04/Feb/2011 21:23:30] "PROPFIND /madr/cal1/14C363B5-DD64-4794-B871-929962107446/ HTTP/1.1" 207 -
madr.mu - - [04/Feb/2011 21:23:30] code 501, message Unsupported method ('ACL')
madr.mu - - [04/Feb/2011 21:23:30] "ACL /madr/cal1/14C363B5-DD64-4794-B871-929962107446/ HTTP/1.1" 501 -
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 63874)
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 281, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 307, in process_request
    self.finish_request(request, client_address)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 320, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 615, in __init__
    self.handle()
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/BaseHTTPServer.py", line 329, in handle
    self.handle_one_request()
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/BaseHTTPServer.py", line 323, in handle_one_request
    method()
  File "/Library/Python/2.6/site-packages/radicale/__init__.py", line 227, in do_PROPFIND
    self.headers.get("depth", "infinity"))
  File "/Library/Python/2.6/site-packages/radicale/xmlutils.py", line 112, in propfind
    href.text = path if is_calendar else path + item.name
AttributeError: 'NoneType' object has no attribute 'name'
----------------------------------------
madr.mu - - [04/Feb/2011 21:36:13] "PROPFIND /madr/cal1/ HTTP/1.1" 207 -
madr.mu - - [04/Feb/2011 21:36:13] "MKCALENDAR /madr/cal1/14C363B5-DD64-4794-B871-929962107446/ HTTP/1.1" 201 -
madr.mu - - [04/Feb/2011 21:36:13] "PROPFIND /madr/cal1/14C363B5-DD64-4794-B871-929962107446/ HTTP/1.1" 207 -
madr.mu - - [04/Feb/2011 21:36:13] code 501, message Unsupported method ('ACL')
madr.mu - - [04/Feb/2011 21:36:13] "ACL /madr/cal1/14C363B5-DD64-4794-B871-929962107446/ HTTP/1.1" 501 -
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 50462)
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 281, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 307, in process_request
    self.finish_request(request, client_address)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 320, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 615, in __init__
    self.handle()
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/BaseHTTPServer.py", line 329, in handle
    self.handle_one_request()
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/BaseHTTPServer.py", line 323, in handle_one_request
    method()
  File "/Library/Python/2.6/site-packages/radicale/__init__.py", line 227, in do_PROPFIND
    self.headers.get("depth", "infinity"))
  File "/Library/Python/2.6/site-packages/radicale/xmlutils.py", line 112, in propfind
    href.text = path if is_calendar else path + item.name
AttributeError: 'NoneType' object has no attribute 'name'
----------------------------------------

(madr.mu is just one of my many names of localhost in /etc/hosts)

The warning sign remains.

Might help anybody, perhaps?

#12 Updated by Guillaume Ayoub over 2 years ago

Thank you Anders, that's really useful, your screenshots are perfect.

Could you please try again with using /madr/ instead of /madr/cal1 as server path? This should create a calendar with a path like /madr/my-calendar-id/ that Radicale would really love (/madr/cal1/my-calendar-id/ does not work, Radicale is really limited). You can safely ignore the errors you get before this step, even if Radicale should definitely be smarter to handle this in the future.

As soon as I have your results with this configuration, I'll add some code that could help (this ACL request is a bit frightening, but…).

One last question: are you using iCal 3 or iCal 4?

#13 Updated by Sebastian Trampler over 2 years ago

Hello Guillaume Ayoub,

I'm also interested in an iCal support with radicale and I have exactly the same problems mentioned above.

I tried out your last recommendation and tested it with /madr instead of /madr/cal1 with the following error message:

----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 57535)
Traceback (most recent call last):
  File "/usr/lib/python2.6/SocketServer.py", line 281, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python2.6/SocketServer.py", line 307, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python2.6/SocketServer.py", line 320, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.6/SocketServer.py", line 615, in __init__
    self.handle()
  File "/usr/lib/python2.6/BaseHTTPServer.py", line 329, in handle
    self.handle_one_request()
  File "/usr/lib/python2.6/BaseHTTPServer.py", line 323, in handle_one_request
    method()
  File "/home/image/radicale-radicale/radicale/__init__.py", line 227, in do_PROPFIND
    self.headers.get("depth", "infinity"))
  File "/home/image/radicale-radicale/radicale/xmlutils.py", line 112, in propfind
    href.text = path if is_calendar else path + item.name
AttributeError: 'NoneType' object has no attribute 'name'
----------------------------------------

I'm using iCal 4.0.4

Hope this information helps.

#14 Updated by Guillaume Ayoub over 2 years ago

Thanks Sebastian,

Could you please provide the full traceback, from the beginning, with associated request lines? Request lines look like:
domain.org - - [XX/XX/XX] "PROPFIND /madr/14C363B5-DD64-4794-B871-929962107446/ HTTP/1.1" 207 -

It'll help me to help you ;)

#15 Updated by Sebastian Trampler over 2 years ago

Good morning,

as soon as I create a new WebDAV Account in iCal with the server path /madr/, I get the error messages posted below and the account will not be created.
Therefore a request line won't be send to radicale.

When I set the server path to /madr/cal1 the account can be created but as soon as I create a calender the connection is lost. The traceback is the following:

----------------------------------------
Exception happened during processing of request from ('XXX', 58693)
Traceback (most recent call last):
  File "/usr/lib/python2.6/SocketServer.py", line 281, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python2.6/SocketServer.py", line 307, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python2.6/SocketServer.py", line 320, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.6/SocketServer.py", line 615, in __init__
    self.handle()
  File "/usr/lib/python2.6/BaseHTTPServer.py", line 329, in handle
    self.handle_one_request()
  File "/usr/lib/python2.6/BaseHTTPServer.py", line 323, in handle_one_request
    method()
  File "/home/image/radicale-radicale/radicale/__init__.py", line 227, in do_PROPFIND
    self.headers.get("depth", "infinity"))
  File "/home/image/radicale-radicale/radicale/xmlutils.py", line 112, in propfind
    href.text = path if is_calendar else path + item.name
AttributeError: 'NoneType' object has no attribute 'name'
----------------------------------------
XXX - - [08/Feb/2011 09:04:19] "PROPFIND /madr/cal1/ HTTP/1.1" 207 -
XXX - - [08/Feb/2011 09:04:20] "PROPFIND /madr/cal1/ HTTP/1.1" 207 -
XXX - - [08/Feb/2011 09:04:20] "PROPFIND /madr/cal1/ HTTP/1.1" 207 -
XXX - - [08/Feb/2011 09:04:29] "MKCALENDAR /madr/cal1/BF30863D-5442-4665-BFD5-6477F7532C0D/ HTTP/1.1" 201 -

#16 Updated by Guillaume Ayoub over 2 years ago

OK, I see… To create a calendar with iCal, Radicale should answer PROPFIND /user/ requests. Thank you for your help, Sebastian, I'll update Radicale as soon as possible. Stay tuned :).

#17 Updated by Guillaume Ayoub over 2 years ago

PROPFIND and REPORT requests for /madr/ should be OK now. Could you please try again (with /madr/, because /madr/cal1/ will definitely not work)?

#18 Updated by Anders Ytterström over 2 years ago

I cloned the git repo and tried it.

Both /madr and /madr/cal1 respons with the same error codes:

https://skitch.com/madr/rxntk/ical

Complete log:

mylion.local - - [16/Feb/2011 11:10:18] "PROPFIND / HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:10:18] "PROPFIND /principals/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:10:34] "PROPFIND /madr HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:10:34] "PROPFIND /madr/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:10:44] "PROPFIND /madr HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:10:44] "PROPFIND /madr/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:10:48] "PROPFIND /madr/cal1 HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:10:49] "PROPFIND /madr/cal1/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:10:49] "PROPFIND /madr/cal1/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:10:58] "MKCALENDAR /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 201 -
mylion.local - - [16/Feb/2011 11:10:58] "PROPFIND /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:10:58] code 501, message Unsupported method ('ACL')
mylion.local - - [16/Feb/2011 11:10:58] "ACL /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:10:58] "PROPFIND / HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:10:58] code 501, message Unsupported method ('PROPPATCH')
mylion.local - - [16/Feb/2011 11:10:58] "PROPPATCH / HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:11:02] "MKCALENDAR /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 201 -
mylion.local - - [16/Feb/2011 11:11:02] "PROPFIND /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:02] code 501, message Unsupported method ('ACL')
mylion.local - - [16/Feb/2011 11:11:02] "ACL /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:11:02] "PROPFIND / HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:02] code 501, message Unsupported method ('PROPPATCH')
mylion.local - - [16/Feb/2011 11:11:02] "PROPPATCH / HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:11:03] "MKCALENDAR /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 201 -
mylion.local - - [16/Feb/2011 11:11:03] "PROPFIND /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:03] code 501, message Unsupported method ('ACL')
mylion.local - - [16/Feb/2011 11:11:03] "ACL /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:11:03] "PROPFIND / HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:03] code 501, message Unsupported method ('PROPPATCH')
mylion.local - - [16/Feb/2011 11:11:03] "PROPPATCH / HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:11:03] "MKCALENDAR /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 201 -
mylion.local - - [16/Feb/2011 11:11:03] "PROPFIND /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:03] code 501, message Unsupported method ('ACL')
mylion.local - - [16/Feb/2011 11:11:03] "ACL /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:11:03] "PROPFIND / HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:03] code 501, message Unsupported method ('PROPPATCH')
mylion.local - - [16/Feb/2011 11:11:03] "PROPPATCH / HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:11:03] "MKCALENDAR /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 201 -
mylion.local - - [16/Feb/2011 11:11:03] "PROPFIND /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:03] code 501, message Unsupported method ('ACL')
mylion.local - - [16/Feb/2011 11:11:03] "ACL /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:11:03] "PROPFIND / HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:03] code 501, message Unsupported method ('PROPPATCH')
mylion.local - - [16/Feb/2011 11:11:03] "PROPPATCH / HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:11:03] "MKCALENDAR /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 201 -
mylion.local - - [16/Feb/2011 11:11:03] "PROPFIND /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:03] code 501, message Unsupported method ('ACL')
mylion.local - - [16/Feb/2011 11:11:03] "ACL /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:11:03] "PROPFIND / HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:03] code 501, message Unsupported method ('PROPPATCH')
mylion.local - - [16/Feb/2011 11:11:03] "PROPPATCH / HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:11:04] "MKCALENDAR /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 201 -
mylion.local - - [16/Feb/2011 11:11:04] "PROPFIND /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:04] code 501, message Unsupported method ('ACL')
mylion.local - - [16/Feb/2011 11:11:04] "ACL /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:11:04] "PROPFIND / HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:04] code 501, message Unsupported method ('PROPPATCH')
mylion.local - - [16/Feb/2011 11:11:04] "PROPPATCH / HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:11:04] "MKCALENDAR /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 201 -
mylion.local - - [16/Feb/2011 11:11:04] "PROPFIND /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:04] code 501, message Unsupported method ('ACL')
mylion.local - - [16/Feb/2011 11:11:04] "ACL /madr/cal1/C88BEA83-9F09-462C-8ABF-E6D3F64EC276/ HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:11:04] "PROPFIND / HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:04] code 501, message Unsupported method ('PROPPATCH')
mylion.local - - [16/Feb/2011 11:11:04] "PROPPATCH / HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:11:40] "PROPFIND / HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:40] "PROPFIND /principals/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:56] "PROPFIND /calendars/madr HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:57] "PROPFIND /calendars/madr/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:11:57] "PROPFIND /calendars/madr/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:12:05] "MKCALENDAR /calendars/madr/40C620F1-59F6-4B78-ADD0-C4819D752443/ HTTP/1.1" 201 -
mylion.local - - [16/Feb/2011 11:12:05] "PROPFIND /calendars/madr/40C620F1-59F6-4B78-ADD0-C4819D752443/ HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:12:05] code 501, message Unsupported method ('ACL')
mylion.local - - [16/Feb/2011 11:12:05] "ACL /calendars/madr/40C620F1-59F6-4B78-ADD0-C4819D752443/ HTTP/1.1" 501 -
mylion.local - - [16/Feb/2011 11:12:05] "PROPFIND / HTTP/1.1" 207 -
mylion.local - - [16/Feb/2011 11:12:05] code 501, message Unsupported method ('PROPPATCH')
mylion.local - - [16/Feb/2011 11:12:05] "PROPPATCH / HTTP/1.1" 501 -

#19 Updated by Anders Ytterström over 2 years ago

This error comes up when I ctrl+c radicale, any help?

^CTraceback (most recent call last):
  File "./radicale.py", line 104, in <module>
    server.serve_forever()
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/SocketServer.py", line 224, in serve_forever
    r, w, e = select.select([self], [], [], poll_interval)
KeyboardInterrupt

#20 Updated by Guillaume Ayoub about 2 years ago

Thank you for your report, it's very useful. There are no more errors on PROPFIND requests, that's good news.

About the ctrl+c error, that's OK, Python is just saying that you hit ctrl+c ;).

About the calendar creation, MKCALENDAR /calendars/madr/40C620F1-59F6-4B78-ADD0-C4819D752443/ is strange. We should have MKCALENDAR /madr/40C620F1-59F6-4B78-ADD0-C4819D752443/ instead. Did iCal add the /calendars without your asking you, and is there a way to remove it? It should really work without /calendars.

You can forget /madr/cal1/ for your further tests, it won't work and you'll save some of your time ;).

#21 Updated by Guillaume Ayoub about 2 years ago

  • Status changed from New to Rejected

It's time to release 0.5 without iCal support, as a lot of features are waiting for next versions. Bug #252 is now open to track the Apple iCal support.

Also available in: Atom PDF