おいらの音 - soma fm - Groove Salad

2022/08/01 (月)

somaFM

Groove Salad - 2022/07 オンエア曲リスト (放送時刻を日本標準時刻に訂正)


somaFMリンク
説明
説明の説明……
プログラマのグチ (2024/04/19記)

 Recently Played Songsのhtmlデータには、時刻だけで、日付が書いてありません。もともと、その時その時に目で見るのを目的に作られているから、当たり前なのですが、このHTMLソースを入力データとして情報処理を組む私のような変わり者には、「ここに書いてある23:02とは、何月何日の23:02なのだろうか」が、大問題なのです。
 1時間おきに定期記録しているものの、後日、紐づけしようにも手掛かりがありません。
 そこで、htmlをcurlで取得した記録日時から、日時を判断しています。これは、soma fmさんが、欠かさず放送曲リストを更新してくれているから成り立っているわけですが、もし急に更新が滞ったり、突然やる気を出して「これからは一度に24時間分載せるよ~」なんて予告もなく仕様を変えられるとですね、逆に、当サイトの日本標準時刻変換処理は、一気に狂ってしまうのであります。
 もう一つの強敵はサマータイムです。
 記載される放送時刻は、サマータイム期間になると、当然ながらサマータイムで表記されます。
 「htmlのここに書いてある01:25って、サマータイム期間の01:25なのか?」という問題が生じるのですね。
 それによって換算後の日本時刻が1時間違ってしまいますからね。もちろん、さっきも書いた通りhtmlデータには日付など、まったく!!記載されてません。
 前項に書いた方法で、システム屋の感覚では、かなり頼りない方法で日付を決めて変換をしています。
 また、サマータイム期間が毎年違うものですから、これも厄介です。わたしには法則性がわかりません……と前から書いてたんですが、すみません、最近知りました。ちゃんと法則は決まってはおるようですね(第二○曜日…みたいなね)。ただ、日本の春分・秋分の日も、計算式はみんな知ってるけど、ルール上は「官報で示されるものが正」なわけです。同じようなものなんじゃないかなと今でも疑ってまして……毎年、来たるサンフランシスコのサマータイム期間を調べてスクリプトに書き足しておるわけです。
 このサマータイムが、リスト取得処理でどう問題になるか、だいたいお判りと思いますが、具体的な例をあげます。
 サンフランシスコは毎年、3月上旬にサマータイムに突入し11月上旬に終わり、切れ目はいつも現地時間午前2時のようです。
 サマータイムに突入したとき、soma fmのhtmlデータがどうなるかと言うと、1時間ほど曲目が放送されない空白が生じます。もちろん放送曲リストに記載される時刻の、見かけ上の話であり、急に何の説明もなく、ブツっと1時間飛びますけど、実際は切れ目なく放送が続いてます。
 でも、この突入時の空白時間は、まだいいんですよ。これはまだ、日本時間への換算は簡単なのです。
 しかしサマータイムが終了する11月上旬は手強い。このときは2:00台が2回繰り返されるわけです。たとえば2:57開始の次の曲を見ると、時間が2:03に戻ってるわけですよ。何か、印ぐらいつけろよバカ!……と、現役SE時代の私なら罵倒の言葉を発して暴れたことと思いますが……そこは天下のsoma fm、西海岸特有の気楽さなんですかね、もちろん、何もしてくれませんよ! サマータイムをそのまま列挙するのみです! 整合性など読み手が考えればよろしい!! ということでしょうか。サマータイムに縁の無い八王子市民の私などは、目をパチクリして混乱してしまいます。これは全く、プログラマ泣かせです(笑)。それでも負けずに工夫して、流れるように切れ目のない日本時刻に直すプログラムを書きましたよ、お母さん。

 soma fmの関係者のかたで、日本語と英語双方が読める方、お願いを伝えてもらえませんか。わたしのような極東のファンが、上のような無駄な苦労をしているのはたったひとつのシンプルな理由、
「蓄積された過去の放送リストが整ってない」
からです。でも、リストを作って載せるのは手間もかかるうえ、きっとアメリカ人には、さほど需要もないのでしょう。こーゆーのを作って喜ぶのは。俺たち日本人の得意技だからな! だったらリストの蓄積と公開は日本人の俺がやるよ、そのかわりResently Played Songsのhtmlソースコメント、ブラウザ画面に見えない部分でいいから、「放送日」だけ埋め込んでくれませんかね。そうするとね、だいぶ楽になるんだけどなぁ。わかるかな? わっかんねーだろうな、アメリカ人には……