時々帖

スポンサーサイト

上記の広告は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

etchにemacs22

emacsでutf8が扱えるようにemacs22を入れる.
/etc/apt/souces.listにtestingを入れればapt-get installできるけどlibc6とかもtestingにされちゃうので
http://d.hatena.ne.jp/n9d/20071206/1196919982
を見て
http://hype.sourceforge.jp/f/dists/etch/backports/
のものを利用.
/etc/apt/sources.listの末尾に
deb http://hype.sourceforge.jp/f etch backports

を追加
このままapt-get updateすると
W: GPG error: http://hype.sourceforge.jp etch Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 29EF9657A7F20B7E
W: You may want to run apt-get update to correct these problems

といわれる.
http://debian.fam.cx/index.php?AptGet#content_1_7
によると,etch以降はsecure aptというのが導入されているらしい.
この場合は公開鍵の更新が必要で,次のようなおまじないをする.
wget http://hype.sourceforge.jp/f/A7F20B7E.gpg -O - | sudo apt-key add -

これはgpgファイルをゲットして,-という名前で保存,それをapt-key add するという意味になるのかな.


apt-get update
apt-get install emacs22 emacs22-el

とすればOK.

テーマ:UNIX/Linux - ジャンル:コンピュータ

  1. 2008/03/02(日) 18:13:09|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。