【问题标题】:Unable to save calendar events to Darwin Calendar server无法将日历事件保存到达尔文日历服务器
【发布时间】:2014-04-08 14:33:29
【问题描述】:

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

然后我编写了以下 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(client) 文件“/Library/Python/2.7/site-packages/caldav/objects.py”,第 256 行,在 初始化 cup = self.get_properties([dav.CurrentUserPrincipal()]) 文件“/Library/Python/2.7/site-packages/caldav/objects.py”,第 151 行,在 获取属性 raise Exception("您正在使用的 CalDAV 服务器有 " 异常:您正在使用的 CalDAV 服务器的路径处理有问题。

知道我做错了什么吗?

谢谢

【问题讨论】:

    标签: python darwin caldav


    【解决方案1】:

    我会先尝试

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

    【讨论】:

    • 试过了。不起作用。我在 caldav 模块的 objects.py 文件中添加了另一个条件。我注意到那里生成的密钥有问题。一旦我在那里添加了那个条件,那么它似乎工作得很好
    猜你喜欢
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多