Personal tools
You are here: Home 清水川記 ZAmazonを改造してみる
Document Actions

ZAmazonを改造してみる

先日 Zope Weekend 4 で「 ZAmazon というProductを使って‥‥」という話をしたのですが、実際の所 ZAmazon は今(2004/08/16)はそのままでは使えなくなってしまっており、そのまま紹介することは出来ない状態でした。

そこで、使える状態にしたものを公開できればと思いgoogleで引いてみると、micro-8さんが Something Red で書かれている記事 " ZAmazonを使う "," Zamazon Hack for COREBlog " が引っかかり、既に ZAmazon を使いやすいように改造した物を配布して‥‥いたようなのですがリンク切れ(^^; とりあえずpythonやProductの改造練習ということで、自分で手を入れてみることにしました。

[ 清水川改造版ZAmazon ]

まず、 ZAmazonを使う でも書かれていますが、 ZAmazon を手に入れてもそのままでは使えません。引数の数が合っていなかったりしているので、その辺のつじつまを合わせる必要があります。また、AmazonのWebAPIのURLが固定で埋め込まれていたり(URLは時々変わるようです)、アソシエイトIDが埋め込まれていたり(--;; します。そのへんをZope上から設定できるようにQuickHackしてみました。

ZAmazon追加

上記の Amazon License KeyAmazon Associate ID はAmazonで デベロッパー・トークンを申し込む ことで入手することが出来ます。また、サンプルで使うためにここではidを zamazon とします。(タイトルとProxyはオプション)

そして以下のような DTML Document を作成して使います 1

<dtml-var standard_html_header>
<table border=1>
  <tr>
    <th>Asin</th>
    <th>SalesRank</th>
    <th>ProductName</th>
    <th>URL</th>
    <th>Media</th>
    <th>OurPrice</th>
    <th>ImageUrlMedium</th>
  </tr>
<dtml-in expr="zamazon.searchByASIN('4894716658')"
prefix="book"><tr>
    <td><dtml-var expr="book_item['Asin']"></td>
    <td><dtml-var expr="book_item['SalesRank']"></td>
    <td><dtml-var expr="book_item['ProductName']"></td>
    <td><a href="<dtml-var
    expr="book_item['URL']">">Link</a></td><td><dtml-var
    expr="book_item['Media']"></td>
    <td><dtml-var expr="book_item['OurPrice']"></td>
    <td><img src="<dtml-var expr="book_item['ImageUrlMedium']">" /></td></tr>
</dtml-in>
</table>
<dtml-var standard_html_footer>

これで ASIN=4894716658 に対応した本、 人月の神話 についての情報を引き出すことが出来ます。

searchByASINの部分を以下のように書き換えると:

zamazon.searchByWishlist('3AEH19HYIMCTJ')

自分のWishListを表示 することが出来たりします 2

ZAmazon は今のままでもコードさえ書けばたいていのことは出来るのですが、micro-8さんのようにCOREblogで使えるようにするとか、辞書でProductNameを引くなどのコードを書かなくても任意の情報を取得できるようにするとかをしていかないと、一般の人への訴求力はかなり弱いですね。

[1]なんか<と書いてもだめなので、とりあえず全角で‥‥
[2]少なくとも2004/8/16現在はWishListが表示されます。実験用URLなので‥‥
Category(s)
Zope Zope
python python

Re: ZAmazonを改造してみる

Posted by micro-8 at Aug 17, 2004 01:33 AM

実は、リンク切れというか、CVSでコミットしたときに自動でアーカイブしなおすのってかっこいいなと思いつつ、CVSを導入しただけで終わっているのでした(^^;
すなおにcronにすべきかもしれません。

Re: ZAmazonを改造してみる

Posted by 清水川 at Aug 17, 2004 07:02 AM

> CVSでコミットしたときに自動でアーカイブしなおすのってかっこいいなと思いつつ

確かに、かっこいいかも。
COREblogなんかでアーカイブを参照すると、あとでアップデートした時などにリンク問題で悩むんですよね(--;;

Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)

« July 2010 »
Mo Tu We Th Fr Sa Su
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
About this blog
Zope, Python, FreeBSD, その他色々について。つまり日記か。
Categories
Agile(XP) (0)
Event (10)
Pattern (0)
その他 (10)
Zope (11)
Memo (0)
(3)
python (17)
Programming (0)
Game (0)
OO (0)
Unix (0)
WZ (0)
work (0)
Plone (11)
Windows (1)
IT-PC (4)
自転車 (0)
TurboGears (0)
ダーツ (0)
JavaScript (0)
旅行 (0)
Web (3)
セキュリティー (1)
Django (0)
LDAP (0)
データベース (0)
vi/vim/gvim (0)
C/C++ (0)
ボドゲ (0)
RoR (2)
pyspa (1)
スタトレ (0)