1日1tech

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告|
  3. トラックバック(-)|
  4. コメント(-)

Rainlendar に web公開されている iCalendar ファイルを取り込んでみた

昨日、Rainlendar は web公開されている iCalendar 形式を取り込めないから、サーバのフォーマットに変換して...とか書いてましたが、あほでした。>自分
ちょっと落ち着いて考えたら http で .ics ファイルをローカルにダウンロードして、それを rainlandar に読み込ませるだけでいいやん、と。で、定時あけから、こちょこちょと perl で...ってできました。
あぅ、こんな簡単でよかったのか...

ちょっとひっかかったのは、MacOS X の iCal から出力されたファイルを読み込む場合、ics ファイルの改行コードが Mac のそれなので CR+LF に変換してやる必要があるのと、文字コードが UTF-8 で出力されているので、perl もそれにあわせておく必要があるくらいで、いたって簡単です。

試してませんが、Google Calendar でもできると思う。たぶん。
データが使い回せるって、やっぱいいですね。


実際には複数のカレンダーをローカルに保存しているので少しいじっているのですが、こんな感じのコードです。ActivePerl 5.8 で、UTF-8 で保存して使ってます。


use Win32::Internet;
$INET = new Win32::Internet();

$url = "icsファイルのURL";
$file = $INET->FetchURL($url);
$file =~ s/\x0D\x0A/\n/g;#改行コードをCR+LFに

$my_output_file = "ローカルに保存するicsファイルパス";
open(OUT, "> $my_output_file");
print(OUT $file);
close(OUT);

スポンサーサイト
  1. 2006/05/11(木) 20:35:47|
  2. develop|
  3. トラックバック:0|
  4. コメント:0

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://miyana2m.blog2.fc2.com/tb.php/290-589dffcf
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。