nasneの録画番組一覧を取得する
nasneのAPI叩いてHDD残量を確認するとかはよく見かけるんだけど、録画番組一覧を取得できたりしないかなーと思って調べてみた。
手掛かり
PC TV with nasne™とやらがある
パケットキャプチャしながら動かしつつ眺めてたらどうやらこのurlで番組一覧を取得してるらしい事が分かった。
http://{nasneのIP}:64220/recorded/titleListGet?searchCriteria=0&filter=0&startingIndex=0&requestedCount=0&sortCriteria=0&withDescriptionLong=0&withUserData=0
パラメータがいっぱいあるけどとりあえずこまけぇことは気にしない。
取得してみる
curlで取ってきたらjsonが返ってきたので整形したげると良い感じになった。
curl -s 'http://{nasneのIP}:64220/recorded/titleListGet?searchCriteria=0&filter=0&startingIndex=0&requestedCount=0&sortCriteria=0&withDescriptionLong=0&withUserData=0' \ | jq .
なんか化けてる文字があったけど、[新][終][字]みたいな特殊文字のようだったので整形前に該当の文字を置換してあげる。
Unicodeエスケープシーケンス | 対応文字 | 置換後 |
---|---|---|
\ue195 | □の中に終 | [終] |
\ue193 | □の中に新 | [新] |
\ue0fe | □の中に字 | [字] |
ついでに出力項目も絞ろう。
curl -s 'http://{nasneのIP}:64220/recorded/titleListGet?searchCriteria=0&filter=0&startingIndex=0&requestedCount=0&sortCriteria=0&withDescriptionLong=0&withUserData=0' \ | sed -e 's/\\ue195/[\\u7D42]/g' -e 's/\\ue193/[\\u65B0]/g' -e 's/\\ue0fe/[\\u5B57]/g' \ | jq -r '.item[] | { title: .title, description: .description}'
だいぶそれっぽくなったんじゃないでしょうか。