ISBN-10ISBN-13相互変換とハイフン編集をするjavascriptの生成実験

午前中hetappiさんの[id:hetappi:20071012:1192210055]を眺めててうまいこと書けてるなぁと感心しつつ、自分用に一寸いじってみた。
まだ作成途中なのでソースを晒せる段階ではありませんが*1ザッとこんな感じ

  • もともと作成していたJS
〜 略 〜
		["399999999","1","7"],
//	Japan
		["419999999","1","2"],
		["469999999","1","3"],
		["484999999","1","4"],
		["489999999","1","5"],
		["494999999","1","6"],
		["499999999","1","7"],
//	Russian Federation
		["519999999","1","2"],
〜 略 〜
  • 今回試しに作成してみたJS

※見やすいように一部編集しています

    [ "0199999999", 1, 2 ],
    [ "0699999999", 1, 3 ],
    [ "0849999999", 1, 4 ],
〜 略 〜
    [ 4199999999, 1,  2 ],
    [ 4699999999, 1,  3 ],
    [ 4849999999, 1,  4 ],
    [ 4899999999, 1,  5 ],
    [ 4949999999, 1,  6 ],
    [ 4999999999, 1,  7 ],
    [ 5199999999, 1,  2 ],
    • ごっそりテーブルに溜め込んでobjToJsonでJSON化して吐き出しているので何処の地域の編集ルールかのコメントが無いのと、ゼロで始まる英語圏以外がクォートされてないのが一寸気になると言えば気になる
    • 一応、テーブルの意味としては一個目の数値と編集したいISBNを先頭から比較していってISBN<=数値の関係になった番目のテーブルの2番目が地域、3番目が出版社コードの桁数になっています

野望

    1. 前回との違いがある場合のみテーブルを生成してテンプレートとマージしたものでスクリプトを更新
    2. スクリプトを別サーバにftpする
    3. チェンジログをはてダ*2にUP
    4. cronからのメールが自分に届く

というのを月一回自動でやってくれるというところ迄を第一段階としてもくろんでます。

*1:何となくPerlというよりCobolみたいな書き方

*2:はてダにUPするモジュールってCPANに上がっていたような気がします