あおしまの日記

あおしまさんの日記らしいです。個人的に興味がある事を時々書きます。スマートウォッチPebble日本語パックを作成、公開しています。

epgrec+RegzaZ1で、存在すると面倒な番組名をごにょっと変える

epgrecとRegzaZ1で快適生活堪能中です。
既に1TB弱録画しました。

ただ、ある番組を録りはじめた途端、Regzaからのアクセスでインデックスを作る時にエラーになってファイルリストすら見えなくなる文字列があり、とある番組*1を録画しはじめたのと軌を一にするので、ファイル名生成段階でごみ取りをする事にしました。

// あると面倒くさそうな文字を全部_に

(本来のコード)
$filename = preg_replace("/[ \.\/\*:<>\?\\|()\'\"&]/u","_", trim($filename) );

(追加したコード)
$filename = preg_replace("/[−×〜]/u","_", trim($filename) );

全角記号ハイフン、バツチルダEPG番組名中にある時に現れる記号類(どうもUTF-8で面倒だと言われている範囲の文字らしい)を、ファイル名に適用する前にアンダーバーに置換しています。もしかしたらプラスと割る記号あたりもダメかもしれないがあとは出て来てエラーしたら対処します。

これが機能しはじめて以降、ファイルリスト画面でエラーが出る事は無くなりました。

追記

後日、全角記号の×と〜がある番組*2でもエラーが出たので、追加して様子を見ています。該当する記号をコード内に追加する時には、

  • ブラウザでepgrecを見て
  • 番組名をコピー
  • OSXのターミナルでマシンに入り
  • epgrecのReservation.class.phpをviで開いて
  • タイトル処理部分を探し出して
  • 置換文字列の所にターミナル越しにペースト
  • 編集完了

することで、より確実に引っ掛かった文字列を取り込めます。(ハイフンの時に似た物が色々あるので手間取った事から編み出しました。)

*1:昔々はアフロだった人が一般人にインタビューする深夜の番組

*2:日本の会社が持つ技術を紹介し対決させる番組