[解決策ではなくデバッグする]
caldav モジュールのドキュメントに記載されている例から:
from datetime import datetime
import caldav
from caldav.elements import dav, cdav
# Principal url
url = "https://user:pass@hostname/user/Calendar"
client = caldav.DAVClient(url)
principal = caldav.Principal(client, url)
calendars = principal.calendars()
問題
- URL の例は、ical サーバーのプリンシパル URL ではありません
- calendars = principal.calendars() のコードを見ると、応答は無視されます。
- プリンシパル URL が正しくない場合、エラーを発行することなく、空のカレンダー セットだけが返されます。
デバッグのヘルプ:
objects.py ファイルには、children という DAVObject のメソッドがあります。コードを変更して、デバッグ情報を含めることができます。以下を貼り付けて、質問に情報を貼り付けることができる場合。
response = self.client.propfind(self.url.path, body, depth)
print response, self.url.path #provide additional info
print response.raw #provide additional info
for r in response.tree.findall(dav.Response.tag):