パスワードを忘れた? アカウント作成
499184 journal

hylomの日記: 意外にBuggyなNet::Amazon 2

日記 by hylom

PerlでAmazon APIを使うNet::Amazonモジュールの話。

Net::Amazonでは、Amazonストアでの種別(本とかCDとか)別にプロパティクラス(Net::Amazon::Property::*)があるんだけど、現状では

  • Book
  • CE
  • DVD
  • Music
  • Software
  • VideoGames

しか用意されていない。これ以外の種別のItemの場合、ItemLookupをしたときに汎用オブジェクト(Net::Amazon::Propery)でプロパティが帰ってくるんだけど、このクラスのコンストラクタ処理が不完全っぽくてカスタマーレビューが返ってこなかったり、製品名が返ってこなかったり。。。

ということで、テキトーなパッチ。いまの仕事が片付いたらちゃんとdiffとって報告せねば。

*** Property.pm.org     2007-03-15 01:25:47.000000000 +0900
--- Property.pm 2007-03-19 20:30:27.000000000 +0900
***************
*** 30,36 ****
      OurPrice => [qw(Offers Offer OfferListing Price FormattedPrice)],
      SmallImageUrl => [qw(SmallImage URL)],
      SuperSaverShipping => [qw(Offers Offer OfferListing IsEligibleForSuperSave
rShipping)],
!     Title => [qw(Title)],
      ThirdPartyNewCount => [qw(OfferSummary TotalNew)],
      ThirdPartyNewPrice => [qw(OfferSummary LowestNewPrice FormattedPrice)],
      TotalOffers => [qw(Offers TotalOffers)],
--- 30,36 ----
      OurPrice => [qw(Offers Offer OfferListing Price FormattedPrice)],
      SmallImageUrl => [qw(SmallImage URL)],
      SuperSaverShipping => [qw(Offers Offer OfferListing IsEligibleForSuperSave
rShipping)],
!     Title => [qw(ItemAttributes Title)],
      ThirdPartyNewCount => [qw(OfferSummary TotalNew)],
      ThirdPartyNewPrice => [qw(OfferSummary LowestNewPrice FormattedPrice)],
      TotalOffers => [qw(Offers TotalOffers)],
***************
*** 47,53 ****
        'Asin'        => 'ASIN',
        'url'         => 'DetailPageURL',
      'Media'       => 'Binding',
!     'ProductName' => 'title',
  );
 
  __PACKAGE__->make_accessor($_) for @DEFAULT_ATTRIBUTES;
--- 47,53 ----
        'Asin'        => 'ASIN',
        'url'         => 'DetailPageURL',
      'Media'       => 'Binding',
!     'ProductName' => 'Title',
  );
 
  __PACKAGE__->make_accessor($_) for @DEFAULT_ATTRIBUTES;
***************
*** 163,168 ****
--- 163,169 ----
  #         die "%Error: there is no property defined for type '$catalog'\n";
          DEBUG("Creating new Default Property ($catalog)");
          $obj = Net::Amazon::Property->new(xmlref => $xmlref);
+         $obj->init_via_xmlref( $xmlref );
      }
 
      return $obj;
~

# 追記@3/20 2:00。誤字修正。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

読み込み中...