アニメ系新番組や単発番組の情報をカレンダーにするプログラム「しょぼかるフィルター」を作った
この記事は KMC アドベントカレンダー 7日目の記事です。
6日目の記事は、id:dnek さんの 運ゲー排除マインスイーパーをiOSにも対応させた話とか - dnekblog でした。
今日のテーマ
新番組や単発番組の情報をカレンダーにするプログラムを書きました。
「しょぼかるフィルター」と呼んでいます。
ソースコードはGitHubで公開しています。
手元で試してみたい、自分の地域の情報を出力したい、という方は、readmeを参考にして動かしてみてください。
github.com
こちらで、KMCの所在地である京都向けの.icsファイルを試験公開中です。
当面は運用を続ける予定ですが、予告なく終了する可能性があります。
あらかじめご了承ください。
以下、何をやったのかを簡単に紹介します。
しょぼいカレンダーとは
アニメ関連番組の番組表。
「しょぼい」という名前とは裏腹に高機能。
例えば、rssbuilder機能というものがあり、.icsファイルを生成できます。
今回はこの機能を利用します。
http://cal.syoboi.jp/util/rssbuilder
しょぼいカレンダーの不満点
デフォルトで出力される.icsでは、番組数が多すぎるため、欲しい情報が埋没します。
私は、録画予約を失敗しないように、新番組や単発番組の情報が欲しいと考えました。
継続して毎週放送されている番組の情報はいらないので、出てこないようにしたいです。
デフォルトの.icsをGoogleカレンダーに読み込ませたときの様子です。
情報が多すぎます……。
作ったプログラムでやっていること
しょぼいカレンダーが発行する.icsを読み込んでフィルタリングします。
"【新】"、"【注】"、"【!】"が含まれるものだけを含んだ.icsを出力します。
新番組や単発番組の情報を失うことなく、不要な情報の大部分を除去することができます。
放送時間が変更された番組も引っかかってしまいますが、数が少ないので目を瞑ることにします。
実装が軽いことはよいことです。
フィルタリングした後の.icsをGoogleカレンダーに読み込ませたときの様子です。
だいぶスッキリしました。
実運用では、Linuxサーバー上でcronを使って定期実行しています。
webサーバの公開ディレクトリに.icsを出力することで、カレンダーの配信を実現しています。
終わりに
自分でプログラムを書くことで、新番組や単発番組の情報をカレンダーにすることができました。
もし、これよりいい方法があるという方は、ぜひお知らせください。
プルリクも歓迎です。
明日のKMCアドベントカレンダーは、id:asRagiさんです。