#!/usr/bin/perl # $Id: hns_todo.pl.txt,v 1.1.1.1 2000/12/30 08:16:28 terada Exp $ # 日記とPalmのtodoの同期をとる # 日記にしてもよいカテゴリ(へなちょこ仕様なので0から順に書いていく) $hns_cat[0] = "日記"; $hns_cat[1] = "研究"; $hns_cat[2] = "買い物"; # read-todosのパス $read_todos = "/usr/local/pilot/bin/read-todos"; # nkfのパス $nkf = "/usr/local/bin/nkf"; # ポート(環境変数で指定) $pilotport = $ENV{PILOTPORT}; # メインルーチン if (-e $ARGV[0]) { # 引数でtodoファイルが指定された場合 $read = "$read_todos -f $ARGV[0]"; } else { $read = "$read_todos $pilotport" } open(TODO, "$read | $nkf -e|") || die "cannot open ToDoDB\n"; print STDERR "Please press the HotSync button...\n" if !-e $ARGV[0]; while() { chop($_); @data = split(/ /,$_); if (/^Category:/) { $todo[0] = $data[1]; } if (/^Priority:/) { $todo[1] = $data[1]; } if (/^Completed:/) { $todo[2] = $data[1]; } if (/^Due:/) { $todo[3] = $data[1]; } if (/^Description:/) { $todo[4] = $data[1]; } if (/^Note:/) { for (@hns_cat) { if ($_=~$todo[0]) { # カテゴリをチェック if ($todo[2]=~"No") { # 完了をチェック if ($todo[1]=~1) { # 重要度が1の場合は99にする $priority = 99; } else { $priority = 100-($todo[1]-1)*20; } print $priority, " ", $todo[4], "\n"; } } } } } close(TODO);