2016-10-21 18 views
0

私はCalDAVのpythonモジュールを使ってイベントから情報全体を取得したいと思いますが、イベントのリンクを取得できましたが、そのイベントからイベントの詳細を取得する方法が分かりません。イベント:イベントリンクからイベント情報を取得する方法は?

https://mail.example.com:443/public-calendars/example.com/9A0F7585-A952-4E0C-868C-0C072A2D8740/9a0f7585-a952-4e0c-868c-0c072a2d8740-0000048a.eml 

そして、私はイベントの詳細を取得するには、これをしようとしています:

event = 'https://mail.example.com:443/public-calendars/example.com/9A0F7585-A952-4E0C-868C-0C072A2D8740/9a0f7585-a952-4e0c-868c-0c072a2d8740-0000048a.eml' 
eventDetail = caldav.Event(event).load() 

しかし、私はエラーを取得しています:

AttributeError: 'str' object has no attribute 'request' 

何I私はその情報を通過し、私は必要なものを検索したり、ファイルにそれを送ることができるように、変数にそれを入れたい

BEGIN:VEVENT 
SUMMARY:event-title 
DTSTART;TZID=Europe/Warsaw:20150305T130000 
DTEND;TZID=Europe/Warsaw:20150305T140000 
DTSTAMP:20150624T170317Z 
UID:9149F870-5475-4120-9EE5-1A06E857807B 
SEQUENCE:1 
EXDATE;TZID=Europe/Warsaw:20150618T130000 
EXDATE;TZID=Europe/Warsaw:20150305T130000 
EXDATE;TZID=Europe/Warsaw:20150430T130000 
CREATED:20150226T105018Z 
DESCRIPTION: 
LAST-MODIFIED:20150616T094907Z 
LOCATION: 
RRULE:FREQ=WEEKLY;UNTIL=20150624T235959Z;INTERVAL=1 
STATUS:CONFIRMED 
TRANSP:OPAQUE 
BEGIN:VALARM 
ACTION:NONE 
TRIGGER;VALUE=DATE-TIME:19760401T005545Z 
UID:FC67F59E-5540-47BE-ACFA-FE229771EC11 
X-WR-ALARMUID:FC67F59E-5540-47BE-ACFA-FE229771EC11 
END:VALARM 
END:VEVENT 

:取得したいと思い、このようなものです。

答えて

0

caldav/objects.py は、私が見たモジュールを見て:あなたは、したがって、クライアントオブジェクト(第一パラメータ)としてURLにエラーを渡している

def __init__(self, client=None, url=None, data=None, parent=None, id=None) 

はたぶんこれは動作しますが、おそらくない(ロードするために、それは非常に可能性の高いクライアント・オブジェクトを必要とします):

eventDetail = caldav.Event(url=event).load() 

しかし、モジュールのさらに下に見ている私は、カレンダーオブジェクトのevent_by_urlを見ます

class Calendar(DAVObject): 
    ... 
    def event_by_url(self, href, data=None): 

おそらくあなたはすでに、カレンダーオブジェクトへのアクセスを持っているので、私はそれが簡単であると仮定します。

event = calendar.event_by_url("/calendars/123.ics") 
+0

これは基本的に特定のイベントを出力することがわかりました: – dsturlan

+0

print event.data イベントでは、たとえば名前のように異なるオブジェクトを使用できます。 print event.name – dsturlan

関連する問題