過去の日記

2007-01-14 [長年日記]

やっつけISBN13桁対応 [etc]

えー、

Amazonと新ISBNの微妙なカンケイ

なんてエントリを書いてみたものの、いざふたを開けてみれば旧ISBN表記そのまんまなASINだった。


てなわけで、ECSから取得などせずに当座は旧ISBN形式への変換で済ませてしまおう。
……むちゃくちゃ格好悪いが、

    if asin.length == 13 && '9784' == asin[0, 4] && /^[0-9]+$/ =~ asin
        asin = asin[3, 9]
        
        sum = asin[0,1].to_i  * 10
        sum += asin[1,1].to_i * 9
        sum += asin[2,1].to_i * 8
        sum += asin[3,1].to_i * 7
        sum += asin[4,1].to_i * 6
        sum += asin[5,1].to_i * 5
        sum += asin[6,1].to_i * 4
        sum += asin[7,1].to_i * 3
        sum += asin[8,1].to_i * 2
        
        sum %= 11
        if sum == 0
            asin = asin + '0'
        elsif sum == 1
            asin = asin + 'X'
        else
            asin = asin + (11 - sum).to_s
        end
    end

てな感じで、amzon.rb*1 に仕込んでしまおう。
うーむ。不細工なソースだ。
まぁいいや。

Bartender 7 (ジャンプコミックスデラックス)

  • 作者: 城 アラキ,長友 健篩
  • 出版社/メーカー: 集英社
  • 発売: 2007-01-04
  • ASIN: 4088596161
  • メディア: コミック
  • amazon.co.jp詳細へ

Bartender 7 (ジャンプコミックスデラックス)(城 アラキ/長友 健篩)

asin:9784088596167

ほい。大丈夫かな?
(detail表記だと正しいASINを表示するけど、表示形式指定なしのリンクだと書いたまんまで出ちゃうんだな。まぁ、私は使わない書式だしこのまんまでもいいかしらん……)

*1 tDiary の plugin を自分用にカストマイズしたもの