2011-04-20 9 views
1

iCalカレンダーからイベントを選択するときに、datetimeプロパティのdayフィールドをフィルタとして使用しようとしています。py-appscript filter with datetime

以下は、(現在の日付のすべてのイベントを選択するために)動作していないよう:の日を印刷する(AttributeError: Unknown property, element or command: 'day'

しかし、この作品:

cal = app("iCal").calendars["myCalender"].get() 
cDate = datetime.now() 
cEvents = cal.events[its.start_date.day==cDate.day].get() 

が、私は結果を得ますすべてのイベント)...

cal = app("iCal").calendars["myCalender"].get() 
for cEvent in cal.events.get(): 
    print cEvent.start_date.get().day 
+0

最初の例の 'its'オブジェクトはどこから来ますか? – eumiro

答えて

0

このライン

cal.events[its.start_date.day==cDate.day].get() 

its.start_date.day==cDate.dayをチェックし、FalseまたはTrueを返します。インデックスとして、これは01に変換され、cal.eventsリストの最初の2つの要素の1つをとります。これは、あなたの望むことですか?

+0

それはそうではありません、 'its.start_date.day'はappscriptの特別なオブジェクトで、__eq__ checkを再定義しました。 SQLAlchemyのフィールドとして機能します。 –