Nov 10, 2006

Cybozu2iCal 0.10公開

サイボウズオフィス6のカレンダーアイテムを取得して、iCalendar形式に変換するスクリプト、Cybozu2iCalを割と大幅に更新したので、そのご報告。

Cybozu2ICal - ogawa - Google Code

大きな変更点は二つあって、ひとつはサイボウズオフィス6からカレンダーデータを取得・パーズする処理を分離して、WWW::CybozuOffice6::Calendarモジュールを作ったということです。

WWW::CybozuOffice6::Calendarモジュールは、下記のsubversionリポジトリから単体でも取得できます。

ogawa - Revision 618: /trunk/WWW-CybozuOffice6-Calendar

私がこのモジュールを作ったのは、iCalendarに変換するだけじゃなくてGData APIを叩くアプリにも使いたいと思ったからです。もちろん、Plaggerなどからサイボウズオフィス6を利用する場合にも使えるでしょう。Plagger事情に疎いので、もうCustomFeed Pluginとしてネリネリ作っちゃっててみんな使ってるよーということになっているかもしれませんが、「そんなこと知ったことか、俺コードの俺再利用性が重要なんだ」という方向で。

もうひとつの変更点は、ついにようやく反復カレンダーイベントに対応したということです。

iCalendarのRRULEは常人の理解を超えているのでずっと敬遠してきました(RRULE, RDATEをフルサポートするカレンダーソフトウェアってまじすごいよ)。が、冷静にサイボウズが対応している反復イベントのパターンを観察してみていたら、割と単純なRRULEだけで済むことが分かってきたので、対応してみました。おざなりなものですが。

テストが十分ではないのでおそらく不具合(特にRRULE)が結構あると思います。人柱希望の方はどうかお試しください。

関連:
Ogawa::Buzz: Cybozu Office 6のカレンダーを Google Calendarで表示する

2006-11-19追記:
以下の点を修正した0.11を公開しました。

  • 終了時刻が指定されない場合に開始時刻が10分遅れになるバグがあったので修正しました。
  • 終了時刻が「24:00」と指定された場合に「23:59:59」に丸める処理を追加しました。これはそもそもCybozuの問題ですが。
  • 開始・終了時刻が不正な範囲にある場合のエラー処理を追加しました。

About Me

My Photo

つくばで働く研究者

Total Pageviews

Amazon

Copyright 2012 Ogawa::Buzz | Powered by Blogger
Design by Web2feel | Blogger Template by NewBloggerThemes.com