時々帖

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

Net::Amazonにパッチを当てておいた

Net::Amazonのバグ?があったので,メモしとく.
#!/usr/bin/perl
use strict;
use warnings;
use Net::Amazon;
use Net::Amazon::Request::Wishlist;
use constant DEV_TOKEN => 'HOGEHOGE';
use constant WISHLIST_ID => 'HOGE';
use constant MAX_PAGE => 30;

my $amazon =Net::Amazon->new(token => DEV_TOKEN,
max_pages => MAX_PAGE,
locale => 'jp',
);
my $req = Net::Amazon::Request::Wishlist->new(id => WISHLIST_ID);
my $resp = $amazon->request($req);

のようなプログラムを実行するときにMAX_PAGEが登録されてるウィっシュリストのページ数より大きいと次のようなエラーが出てとまってしまう.
$ ./hoge.pl
Can't get wishlist: Net::Amazon::Response::Wishlist=HASH(0x9021dfc)->message() at ./hoge.pl line 57

とりあえず,以下のようなパッチを当てておいた.
*** Amazon_old.pm       Wed Jun 20 23:56:30 2007
--- Amazon.pm Mon Oct 15 18:28:43 2007
***************
*** 185,192 ****
$res->current_page($ref, $page);
$res->set_total_results($ref);

! my $rc = $res->is_page_error($ref);
if ($rc == 0) {
return $res;
} elsif ($rc == -1) {
last;
--- 185,193 ----
$res->current_page($ref, $page);
$res->set_total_results($ref);

! my $rc = $res->is_page_error($ref, $res);
if ($rc == 0) {
+ last if(defined $page && $page > 0);
return $res;
} elsif ($rc == -1) {
last;
スポンサーサイト

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2008/03/03(月) 22:23:20|
  2. Perl
  3. | トラックバック:0
  4. | コメント:0
<<ATOK+IIIMECF+Emacs | ホーム | etchにemacs22>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://namikister.blog101.fc2.com/tb.php/18-0cb55a81
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。