晴れたり沼ったり

へんなものに沼ることがあります。

nhk apiで遊ぶ part3

例のプログラムだけど、今朝はなにもタグがセットされてない。なんでやねん!

 

どうやら nhk api の now on play APIが次のようなものを返してくることがあるみたいだ。

{"nowonair_list":null}

これはひどい。FMなので放送休止時間はないのでnowonairがないことはないのだが....

 

たぶん 5時頃に番組表を更新するらしいのだけど、そのタイミングにぶち当たってしまって手抜きAPIが番組が検索できずにこの回答を返してきてると推測。

 

回避策0: なにもしない。たまたま発生しただけでそうそうこのケースは出てこない。だいたいnullを返してくるNHKが悪いのだ :-)

 

回避案1: null が返ってくる時はリトライを続ける

→ ずっとエラーはないだろうけど、1分以上null以外が帰ってこなかったら次の番組情報がずれてしまう。

 

回避案2:  1分前に起動して次の番組情報を録ってくるのでなくて番組開始1分後から開始してnullだったらリトライする。ただしリトライ回数は10回くらいにしとくかね?

→ この場合は、いまは録音時間は決め打ちだけど、放送時間をみて録音時間を設定するという改造はできなくなるという問題点はあるが、それを組み込む予定はいまのところないのでまあいいか。あとは1分後からデータ取得するので1分番組があったとしたら次の番組情報になってしまうが、実際には1分番組はないし、あっても録らないからこれでよさそう。パタンマッチングの正規表現書換えとリトライループ組み入れないと....組み入れるのはいいけど発生しなさそうなのでテストは上記の/tmpに残ってたリターンでやるとして本番テストは出来ないなあ。