自分で使っていて、ふと、StickamやJustin.tvの配信は見ないなぁ……
ということに気がついて、右クリックメニューから無効にしたのだけれど、
再起動するとしれっと復活している。
あれ?
と、思ってよくよく挙動を調べると、Stickamのメニューを選んだ時に、
なぜか、Justin.tv用の処理を呼ぶようになっており、手動でxmlを書き換えないと
Stickamが有効にならないバグが見つかった。
なので、修正版をリリース。
今まで気が付かなかったり報告がなかったのが不思議。
もう、安定期に入ってしまってアクティブユーザーはそんなにいないのかも。
1.7.0リリースから特に目立ったバグ報告もなく
なんかおかしいと思いつつも、まぁいいやと過ごしていたのだけれど、
とりあえず、新バージョンをリリース。
変更点は以下。
・動作設定の「キーワードの大文字小文字を区別しない」を
「キーワードとタグの大文字小文字を区別しない」に誤記修正。
・番組表のステータスバーをクリックした時に、番組表のスクロールバーの位置を
通知対象の配信に合わせる機能の追加。複数の通知対象配信がある場合は、
元の表示位置の上から順に2つめ3つ目の配信に先頭位置を合わせます。
・通知対象サイトがない場合の条件判定が誤っていたのを修正
・justinの配信情報の取得に対応。
・Stickamの配信情報の取得に仮対応。ひとまずは、配信者名と更新日時のみの対応。
・ひまわりストリームで30件以上配信がある場合フィードを正常に取得しないバグの修正
Justin.tvとStickamの対応が今回のメイン。
ひまわりストリームのバグは配信数が多いことがなかったので顕在化しなかった。
同じロジックをJustin.tvに適用しようとして発覚。
原因も単純で正直言って、なんでこのコードでおかしいと思わなかったのか不思議。
個人的には、ステータスバーのクリック機能がオススメ。
多分、一回使うと馴染んでくるんじゃないかと。
それはそれとして、Justin.tvの配信を全件取得しようとしたら4000件超えてびびった。
取得にやたら時間がかかるので、デフォルトでは日本語配信のみを対象としています。
Config.xmlを書き換えれば全件取れるけれどもオススメはしない。
ずーっと前にStickamへの対応要望をもらっていたのだけれど、
Stickamは配信タイトルを取るのに配信数のHTTP要求を投げなければならないので
めんどくせーと思ってそのまま放置。
その後、らいつべバルーンの1.7リリースに伴って、
「からっぽの項目があってもいいじゃないか」と考えなおしたので、
ちょろっと追加してみた。
Justin.tv はなんとなく眺めてたらAPIへのリンクが見つかったので、
こっちもちょろっと追加してみた。
基本的には、
・サイト用にダウンロードクラスを継承してサイト別設定を加えて
・GUI用に項目を追加。
・Config.xmlに設定項目追加。
・サイト用に番組表のコード追加。
とやっていくのだけれど、なんか作業していてこれじゃない感がものすごい。
サイト別に同じようなコードをダラダラ書いているので美しくない。
フラグ管理も似たような感じ。
ちょろっと抜粋するとこんな感じのコードがとっちらかっていて
自分で書いておいて狂気すら感じる。
さすがに、これはよろしくない。
クラスなりリストなりでまとめてしまって
コードを綺麗にすべきなんじゃないかと今になって思い始めてきた。
先を見通してコード組めればいいんだけど、
こういう形で後悔するのはいつものこと。
しかし、せっかくのGW。
遊べる時に遊んでしまったほうがいいような気もする。
さて、色々と理由をつけたり、
臨時用2ch串の方が楽しくなったり悲しくなったりしているうちに
すっかり次期を逃した感が有るのだけれど、一応作業しましたということで、
らいつべバルーンのバージョン1.7、タグ対応版をリリースしました。
旧版からの変更点は以下。
・ひまわりストリームのRSSフィード取得に対応
・Livetube、CaveTubeのタグ情報取得に対応。取得できない項目は歯抜け状態になる仕様
・番組表を開いた時と「番組表更新」ボタンの処理後は、番組リストにフォーカスを当てるようにした
・番組表からブラウザ起動した時に番組表を閉じる チェックボックスを追加
・プログラム終了時の設定ファイルの更新を、フォームが表示状態の時のみに変更
XMLファイルの異常の発生率が下がるはず。(作者は遭遇したことないんだけども)
・通知設定画面とNG設定画面の設定項目にタグを条件付けられるようにした。
・通知リスト/NGリスト判定方式の変更、配信者、キーワード、タグのうち複数設定した場合はAND条件とする
通知色の優先順位は、配信者、キーワード、タグの順番
・「コンフィグ設定」の文言を「動作設定」に変更。直訳して「設定設定」っておかしい。
・タグ情報もろもろを表示するために、番組表追加項目を設定ウィンドウに追加
箇条書きにすると大したことなさそうな感じではあるのだけれど、
配信通知やNG配信の処理コードは全く別物に書き換えられている。
タグ通知が増えたことで画面と付随するコードも書きなおし。
らいつべバルーンのページのHTMLも新GUIに対応した状態に書きなおし。
ということで、例によって、きっと取り切れていないバグがある。
相変わらずテスト項目は作ってないし、テストも書いてないし。
と、最近Webの場で公開できるネタが無いので、作業しているアピールをしてみる。
とりあえず、ひとしきりの実装は完了。
タグ通知に対応した通知設定画面のアイデァが出なかったので
半年以上放置してたのだけれど、結局シンプルに落ち着けることにした。
条件付けをある程度自由にできるインターフェースも考えたのだけれど、
多分、一般に使う方は混乱してしまうような気がしてしまったので。
ともあれ、実装の方針が決まれば後は早いもので、仕事の合間にちょこちょこと
コードの切れ端を書いて、夜に結合と簡単な走確をとる。
で、出てきた不具合を原因を見つけて潰す。
後残っている作業は、
・旧版からの移行処理の走確。
・新フォーマットになった通知とNG設定の項目周りのバグチェック。
・新方式になった、通知条件、NG条件のコードの正常性確認。
・半年以上前に実装して記憶の彼方な番組表の項目追加の走確。
・上記で出たバグの修正。
結構作業量あるなぁ……
この土日にだせるかなぁ、って予想はちょっと甘めな予想だったかもしれない。
まぁ、TDDとかやってないので、
新バージョン出した後はしばらくバグ対策に追われることは確定なのだけれど。