Bloglines checker

しつこく引いてみる。

Bloglinesは登録したRSSファイルが更新されていた場合、星マークのついた画像を表示するページに切り替えるという形の、 New Item Notifierという機能があります。これがまた非常に使いづらいんです。しかし、これ以外に更新通知の機能は用意されていないので、このページを利用して、比較的使いやすいチェッカーみたいなものをPerlで作ってみました。

New Item Notifierは、ログインは不要で、

http://www.bloglines.com/notifier?user=<登録したメールアドレス>

というURLにアクセスするだけなので、このURLの中味を簡単に解析すれば良いわけです。更新が無い場合は、title要素にNo Updateという文字列が入るようなので、この文字列が無かった場合に何らかのアクションをするスクリプトを書いてやればOK。で、どうやって通知するかということをいろいろ考えたんですが、クイック起動を使うことにしました。クイック起動のフォルダに、更新があった場合は黄色のスマイリー・アイコン、更新が無い場合は灰色のスマイリー・アイコンのMy Blogsへのインターネット・ショートカットを作ってやるということです。スクリプトはこんな感じ。

#!/usr/local/bin/perl

use strict;

use LWP::Simple;

my $lnkfile = 'C:\Documents and Settings\UserName\Application Data\Microsoft\Internet Explorer\Quick Launch\Bloglines.url';

my $email = 'your@mail.address';

my $content = get("http://www.bloglines.com/notifier?user=$email");

if ($content) {
  if ($content !~ /No Update/) {
    open(LNKFILE, ">$lnkfile") or exit;
    print LNKFILE <<"_EOF_";
[InternetShortcut]
URL=http://www.bloglines.com/myblogs
IconFile=C:\\Icons\\Update.ico
IconIndex=0
_EOF_
    close(LNKFILE);
  }
  else {
    open(LNKFILE, ">$lnkfile") or exit;
    print LNKFILE <<"_EOF_";
[InternetShortcut]
URL=http://www.bloglines.com/myblogs
IconFile=C:\\Icons\\NoUpdate.ico
IconIndex=0
_EOF_
    close(LNKFILE);
  }
}

exit;

インターネット・ショートカットは、普通のショートカットと違い、INI形式の単純なテキストファイルなので、こんなんで楽勝です。アイコンはこんな感じです。

Bloglines checker - Update
Bloglines checker - No Update

あんまり深く考えること無しに作ったけどなかなか良い。

追記@2003/10/11

このスクリプトはチェックして終了してしまうので、タスク・スケジューラなんかで定期的に実行しないと、あまり意味はありません。