ちょうど去年の今頃に作成したMovableType用amazon REST pluginを改造した。
半年ほど前にやったのはAmazonのRestレスポンス変更に対応するための小変更だったけど、今回はもう少しまともに変更。
追加した機能は、
・Restで取得したオブジェクトをきちんとログに残す(^^;。
ログはこちら→log
・取得したオブジェクトをperlのDB_Fileを使ってBerkeleyDBにキャッシュとして格納する。
キャッシュしたDBはこちらのディレクトリ→cache/
・取得した日時をDBに格納し、表示にも【データ取得日】として明示する。
・同じくMediumサイズの商品イメージデータをキャッシュとして格納する。
キャッシュした画像こちらのディレクトリ→image/
#サイズが0のイメージデータの場合は、Amazonに登録されていないことを示します。
・キャッシュに格納されたデータ(DB)がある場合には、Amazonへのリクエストを出さない。
#log内に"Cache-hit"の行があるところがそれ。
というところ。
元からある機能は、
・Blog記事中に<MTRest asin="4761263334">と書くだけで、[図1]のように表示してくれる。
・Blog記事中に上記表示がStaticに埋め込まれるので、検索対象になる。
・Amazonにイメージデータが無いまたは気に入らない場合などに、
<MTRest asin="4761263334" img="http://hoop.euqset.org/archives/cache/image/4761263334-Large.jpg">などとURLを
指定することで、[図2]のように別のイメージデータをリンクして表示させることができる。
などです。
----------------------------------
[図1]<MTRest asin="4761263334">の出力
|
【題名】「マトリックス」で考える人は仕事ができる―魔法の思考ツールで集中トレーニング 【作者】HRインスティテュート 【制作】かんき出版 【価格】¥ 1,575¥ 1,575¥ 2,398¥ 1,575 【発売】2006-04 【ASIN】4761263334 【データ取得日】Sat Oct 13 21:09:55 2007 |
[図2]<MTRest asin="4761263334" img="http://hoop.euqset.org/archives/cache/image/4761263334-Large.jpg">の出力
|
【題名】「マトリックス」で考える人は仕事ができる―魔法の思考ツールで集中トレーニング 【作者】HRインスティテュート 【制作】かんき出版 【価格】¥ 1,575¥ 1,575¥ 2,398¥ 1,575 【発売】2006-04 【ASIN】4761263334 【データ取得日】Sat Oct 13 21:09:55 2007 |
新しい版はmtrest.pl.20071013と言う名前で置いてますので、mtrest.plとrenameした後に、
<BlogRoot>/blog/plugins/mtrest.plと言う感じで置いてください。
尚、MT用のregex.pl、processtags.plおよびEnclosures.plが前提(だったはず(^^;)です。
ちなみに、なぜこのような改造をしたかというと、
・改造前のバージョンでは、毎回rebuildの度ごとにAmazonへのREST requestを出していたので
負荷が高い上に、再構築が遅くなっていた。
・Amazonでは、古い商品に関しての情報が突然消えることがある。
・消えてしまうと、再構築の際にページのあちこちに空白が生まれ、
何に付いて書いていたかわからなくなる。
などのやらしい点があったからです。
現バージョンでは、キャッシュした商品情報はそのまま利用しますが、
商品の画像データに関してはキャッシュしているだけで、Blog記事中からリンクはさせていません。
#キャッシュにリンクするような改造は、それほどめんどくさくは無いと思っています。
#ただし、画像の権利がどうなのかが問題...。
もし、使ってくれる人がいたら、コメントなどどうぞ。
#まぁ、いろいろ良いツールがあるので、いないかなぁ(^^;
Enclosures.plは前提じゃないような気がしてきた(^^;