Wednesday, September 16, 2009

ニッカンスポーツコムの番組表終了

ニッカンスポーツコムのテレビ番組表が9月末で終了するらしい。
player.pl差し替え版が使えなくなるので、あわててサボっていたepg.cgiに検索、エンコード機能を付加しようと思ったが、player.pl差し替え版をsqlite対応にすることにした。(そのほうが楽そうだったから)
どうして動いているのかわからないほどのスパゲッティ具合だが、普段使うところは完成! と思ったらplayer.pl差し替え版がMSN TVに対応したようで、またMSN TVが使えなくなるまでは放置。
sqlite版の弱点は受信状態が悪いと番組表が阿鼻叫喚の地獄絵図となること。
また、ニッカンのジャンル分けとワンセグ放送付加情報のジャンル分けが少々異なっているので混乱する。ニッカンの「バラエティ」の「バラエティ」って何?
ニッカンでは「趣味・教育」で「旅」と「釣り」が分かれているがワンセグでは「旅・釣り・アウトドア」となっている。「歴史」「科学」はワンセグにはなく「ドキュメンタリー」の方に「宇宙・科学・医学」と「歴史・紀行」がある、ただし「歴史・紀行」はニッカンの「ドキュメンタリー」にも存在する。などややこしい。

# これを機会にデータベースファイルの古い情報を消去するスクリプトも書いた。

#!/usr/bin/perl
use DBI;
$start_date = 28;
@tm = localtime(time-86400*($start_date-1)-3600);
$timestring = sprintf("%04d-%02d-%02d %02d:00:00",$tm[5]+1900,$tm[4]+1,$tm[3],$tm[2]);
my $dsn = 'DBI:SQLite:dbname=/media/disk/oneseg24/epg.db';
my $dbh = DBI->connect($dsn, undef, undef, {RaiseError => 1, AutoCommit => 1});
$dbh->do("delete from da_genre where dv_id IN (select dv_id from da_event where dv_start_time < '$timestring')");
$dbh->do("delete from da_event where dv_start_time < '$timestring'");
$dbh->do("vacuum");
$dbh->disconnect();

No comments: