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::GoogleVideo や CustomFeed::YouTube で使われている様な、$entry->meta->{enclosure}->{url} といった深いハッシュには対応できないのですが、特殊なケースだと思うので、とりあえず考えないことにしました。
あと悩んだのは名称ですね。Filter::Amazon にするか、 Filter::AWS にするか、 Filter::AmazonWebService にするか。とりあえず Net::Amazon に合わせてみました。
追記
IRC で宮川さんからアドバイス頂いたのでメモ。
更に追記
P::P::Filter::AmazonWebService として作り直した。まだ音楽のみ対応。