Python 无法将日历事件保存到Darwin日历服务器

Python 无法将日历事件保存到Darwin日历服务器,python,darwin,caldav,Python,Darwin,Caldav,我正在尝试一个日历服务器,我选择了达尔文的开源日历服务器作为服务器。我已经按照页面中提到的步骤操作,并且能够让服务器运行 然后我编写了以下python脚本来保存日历事件 from datetime import datetime import caldav from caldav.elements import dav, cdav # Caldav url url = "http://apprentice:apprentice@localhost:8008/calendars/users/ap

我正在尝试一个日历服务器,我选择了达尔文的开源日历服务器作为服务器。我已经按照页面中提到的步骤操作,并且能够让服务器运行

然后我编写了以下python脚本来保存日历事件

from datetime import datetime
import caldav
from caldav.elements import dav, cdav

# Caldav url
url = "http://apprentice:apprentice@localhost:8008/calendars/users/apprentice/calendar/"

vcal = """BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Example Corp.//CalDAV Client//EN
BEGIN:VEVENT
UID:1234567890
DTSTAMP:20100510T182145Z
DTSTART:20100512T170000Z
DTEND:20100512T180000Z
SUMMARY:This is an event
END:VEVENT
END:VCALENDAR
"""

client = caldav.DAVClient(url)
principal = caldav.Principal(client)
calendars = principal.calendars()
if len(calendars) > 0:
    calendar = calendars[0]
    print "Using calendar", calendar

    print "Renaming"
    calendar.set_properties([dav.DisplayName("Test calendar"),])
    print calendar.get_properties([dav.DisplayName(),])

    event = calendar.add_event(vcal)
    print "Event", event, "created"

    print "Looking for events in 2010-05"
    results = calendar.date_search(
        datetime(2010, 5, 1), datetime(2010, 6, 1))

    for event in results:
        print "Found", event
我得到了以下错误

文件“nodesets.py”,第22行,在 principal=caldav.principal(客户端)文件“/Library/Python/2.7/site packages/caldav/objects.py”,第256行,在 init cup=self.get_属性([dav.CurrentUserPrincipal()])文件“/Library/Python/2.7/site packages/caldav/objects.py”,第151行,在 获取属性 引发异常(“您正在使用的CalDAV服务器有”异常:您正在使用的CalDAV服务器有路径处理问题

知道我做错了什么吗


谢谢

我先试试

url = "http://apprentice:apprentice@localhost:8008/"

尝试了。不起作用。我在caldav模块的objects.py文件中添加了另一个条件。我注意到在那里生成密钥时出现了问题。一旦我在那里添加了该条件,它似乎工作得很好