PythonでiCalendar形式を扱いたくて、PyPIにあったicalendarモジュールを使ってみたメモ。
icalendar 3.10 : Python Package Index
Python2.5, 2.7で確認。
日本語はunicodeで渡せばutf-8でエンコードしてくれる。
内部コードを見ると拡張性のある構造になっているので、まあ便利に使えると思う。
test_ical.py
# coding: utf-8 from icalendar import Calendar, Event from datetime import datetime def main(): ical = Calendar() event = Event() event.add('summary', u'テスト') event.add('location', u'場所') event.add('dtstart', datetime(2011, 4, 1)) # 日付はdatetimeを使える event.add('dtend', datetime(2011, 4, 3)) ical.add_component(event) ical.add('version', '2.0') ical.add('prodid', '-//test//hoge//EN') print ical if __name__ == '__main__': main()
実行結果
$ python test_ical.py BEGIN:VCALENDAR PRODID:-//test//hoge//EN VERSION:2.0 BEGIN:VEVENT DTEND;VALUE=DATE:20110403T000000 DTSTART;VALUE=DATE:20110401T000000 LOCATION:場所 SUMMARY:テスト END:VEVENT END:VCALENDAR