Bloglines checkerコンソール版

Bloglinesの未読記事数を得る方法をずいぶん前に発見したのですが、Windows版のNotifierの使い勝手が良いので、特にこれを利用して何かをやろうとは思わなかったんですよね。なんとなく気が向いたので、方法の公開と共に簡単なPerlスクリプトを組んでみました。

未読記事数を得るには、

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

というURLにアクセスするだけです。これで|17||などという一行が返ってくるので、これを適当にパースするだけ。

#!/usr/local/bin/perl

use strict;

use LWP::Simple;

my $email = shift;
my $url = "http://www.bloglines.com/update?user=$email";

if (is_success(mirror($url, 'cache.dat'))) {
  open (FH, "< cache.dat") or die "Failed to open cache file.\n\n";
  my $content = <FH>;
  close(FH);
  chomp($content);

  if ($content =~ m!^\|(.*?)\|(.*?)\|$!) {
    my $count = $1;

    if ($count > 1) {
      print "You have $1 new items.\n\n";
    }
    elsif ($count == 1) {
      print "You have 1 new item.\n\n";
    }
    else {
      print "You don't have new items.\n\n";
    }
  }
  else {
    print "Failed to parse cache file.\n\n";
  }
}
else {
  print "Failed to mirror $url.\n\n";
}

exit;

簡単なPerlスクリプトはこんな感じ。新着記事があると標準出力にYou have 17 new items.などと出力します。

今はもうWeb VersionのNotifierでも新着記事数がチェックできるのであんまり意味は無いのですけど、Notifierアプリケーションの無いUnix系OSの場合は役に立つ知識かもしれません。いや別に「誰か作れよ」とか言っているわけではありません。