Plagger::Plugin::Filter::Amazon

P::P::Filter::Amazon を作ってみました。以前 CustomFeed::iTunesRecentPlay に Amazon Web Service からの情報取得機能をつけた のですが、宮川さんから「Filter でやったほうがよい」というコメントを頂きましたので、Filter プラグインとして分離しました。

Amazon から情報を取得して、entry に link, icon, summary をセットします。

設定はこんな感じになります。

  - module: Filter::Amazon
    config:
      keywords:
        - title
        - meta: artist
        - meta: album
      associate_id: xxxxxxx-22
      developer_token: XXXXXXXXXXXXXXXXXXXX
      locale: jp
      mode: music

上の設定だと、$entry->title, $entry->meta->{artist}, $entry->meta->{album} を検索キーワードとします。

この検索キーワード指定のフォーマットには、少し悩みました。このフォーマットだと、CustomFeed::GoogleVideoCustomFeed::YouTube で使われている様な、$entry->meta->{enclosure}->{url} といった深いハッシュには対応できないのですが、特殊なケースだと思うので、とりあえず考えないことにしました。

あと悩んだのは名称ですね。Filter::Amazon にするか、 Filter::AWS にするか、 Filter::AmazonWebService にするか。とりあえず Net::Amazon に合わせてみました。

追記
IRC で宮川さんからアドバイス頂いたのでメモ。

更に追記
P::P::Filter::AmazonWebService として作り直した。まだ音楽のみ対応。