BLOGTIMES
2010/09/28

DatebookDB.pdb を ics ファイルに変換してGoogleカレンダーにインポート

  ios  palm  perl  scheduler 
このエントリーをはてなブックマークに追加

iPod Touch はいわゆるPDA的な使い方ができる端末なのですが、PDAという単語で僕は2000年~2004年頃にかけてPalmをかなり使い込んでいたことを思い出しました。既にPalmの実機は手元にはないのですが、家の中を探したところデータのバックアップを取ったメモリが残っていたので、DatebookDB.pdb から当時のスケジュールデータを復元してみることにしてみました。

なんとかics形式まで持っていければ、Googleカレンダーに取り込むことができるので、何か方法はないかと調べたところ「Palm データベースの iCalendar 形式への変換 | yendo weblog」に掲載されている、 pdatebook2ical.pl がそのものズバリの作業をしてるようだったので、今回はこれを使います。

まず、CPANのモジュールが必要なのでインストールします。

# perl -MCPAN -e 'shell' cpan> install Palm::PDB Palm::Datebook

スクリプトはファイルの変換が ~/.jpilot/DatebookDB.pdb → ~/.evolution/calendar/local/system/calendar.ics に固定されているので、これを下記のようにカレントディレクトリのファイルが処理対象になるように変更しておきます。

$ diff -u pdatebook2ical.pl.org pdatebook2ical.pl --- pdatebook2ical.pl.org 2006-11-08 02:24:09.000000000 +0900 +++ pdatebook2ical.pl 2010-09-28 18:59:54.000000000 +0900 @@ -12,8 +12,10 @@ my $location_delimiter =" "; # delimiter between summary & location my $codeset = "utf8"; # output codeset -my $dbfile = "$ENV{HOME}/.jpilot/DatebookDB.pdb"; -my $icsfile ="$ENV{HOME}/.evolution/calendar/local/system/calendar.ics"; +my $dbfile = "./DatebookDB.pdb"; +my $icsfile ="./calendar.ics"; # my $icsfile ="/media/iPod/Calendars/calendar.ics"; my $data_server = "evolution-data-server-1.4";

あとはDatebookDB.pdbをカレントディレクトリに置き、下記のコマンドを実行してやると calendar.ics が得られるので、これをGoogleカレンダーにインポートしてやればOKです。いきなり、既存のカレンダーに予定をマージするのは危険なので、できればインポート用に別のカレンダーを作ってからマージするのがオススメです。

$ perl pdatebook2ical.pl

復元されたカレンダー情報は10年前というとちょうど大学3年生の時で、駆け出しITエンジニア&就職活動が始まるちょっと前という感じでした。眺めていると思わず目頭が熱くなるような記録もあり、当時のエピソードが昨日のことのように思い出されたものもありました。当時から考えれば、10年後にこんなことになってるとは夢にも思わなかったなぁ。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/3824
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン