前回のエントリを受けて、BlogRollingをチェックするPerlスクリプトを作ってみる。今回はクイック起動というか、デスクトップのツール バーで実装してみました。何はともあれ実行結果。
スクリプトの動作は以下のような感じです。
- 自分のBlogRollingの登録状況をOPMLで拾ってくる
- ループで回して各登録サイトの情報を個別に取得
- ファイル名に使えない文字列を全角にエスケープ
- BlogRollingの腐った更新時刻をHTTPフォーマットに直し、更にunix timeに
- スクリプトの実行時刻と比較して、6時間以内の更新かどうかでによって、違うアイコンのインターネット・ショートカットを作成
BlogRollingの腐った更新時刻というのは、
21:10:41 GMT on Wednesday, October 22
とか、こんなんです。要はmachine readableじゃない(と思う)ので、unix timeに変換しづらいわけで。これに関する処理以外は特に何も言うところはないような。
ソース・ファイルとアイコンのセットをまとめたZIPファイルをアップロードしておきます。
スクリーン・ショット取りにくいので、フロートさせた状態のものですが、デスクトップの右端にドッキングさせて、常に手前に表示&自動的に隠すにしておけば邪魔にならず、チェックしやすいと思います。
最後になりましたが、Windows専用です(当たり前。
追記
ファイルをアップロードするのが若干遅れた(単に忘れてた)ので、ファイルが見つかりませんとなってたかもしれません。修正しておきました。お笑いパソコン日誌に指摘されていたので、追記。
追記
ファイル名に使えない文字があるサイトタイトルの場合の処理に大いに至らないところがあったので、修正。ついでに、lastmodが無いoutline要素が出てくる場合に対応しました。BlogRollingにpingを打っていないサイトの場合は、どうやらlastmodが入らないようなので。この場合は常に更新されていないとみなして出力してます。スクリーン・ショットも更新しました。ファイル名はそのままで上書きしたので、キャッシュを無視して再読み込みしないと表示されないと思います。