スポンサード リンク

awsxomプラグインを9月24日版に差し替え+少しいじってみたり

awsxom プラグインの新しいのが出ています。今回から foot.flavour でも使えるようになったので、サイドバーの Recommends にも awsxom プラグインを使うことにしました。

ところで、バージョンアップするときに気づいたのですが、awsxom では DVD の監督や出演者が表示できません(気づくの遅っ)。私は映画を選ぶときに監督や出演者(とくに監督)を重視する人なので、awsxom プラグインを少しいじってみることにしました。

ローカルとこのブログでテストした限りでは何とか動いているようなので、変更した箇所を書いておきます(無謀とも言う)。ただし、私は Perl には詳しくない(ていうか、全く知らないと言ってもいいくらい)ので、思いっきり間違っている可能性も(大いに)あります。

Amazon から取得するデータのタイプを「type=lite」から「type=heavy」に変更

73 行目を

    my $url = "http://xml.amazon.co.jp/...&type=lite=...

から

    my $url = "http://xml.amazon.co.jp/...&type=heavy=...

に変更。

150 行目あたりに、以下の行を追加

    # 監督・出演者の解析
    $detail{"Director"} = parseAuthor($buf, "Directors", "Director");
    $detail{"Actor"} = parseActor($buf, "Starring", "Actor");
    # DVDの場合、AuthorにDirectorと/またはActorを入れておく
    if ($detail{"Catalog"} eq "DVD") {
        if ($detail{"Director"} ne "" && $detail{"Actor"} ne "") {
        $detail{"Author"} = $detail{"Director"} . " / " . $detail{"Actor"};
        } elsif ($detail{"Director"} ne "" && $detail{"Actor"} eq "") {
        $detail{"Author"} = $detail{"Director"};
        } elsif ($detail{"Director"} eq "" && $detail{"Actor"} ne "") {
        $detail{"Author"} = $detail{"Actor"};
        }
    }

「# デバッグ用」の前(オリジナルの 177 行目)あたりに、以下の行を追加

# ---------------------------------------------------------------------
# Actor 部分の解析
sub parseActor {
    my ($buf, $parent, $child) = @_;
    my @actors;
    my $actor;
    # Actorの数
    my $actor_num = 3;

    if ($buf =~ /<$parent>(.*)?<\/$parent>/s) {
        my $act = $1;
        @actors = ($act =~ /<$child>([^<]*)<\/$child>/gmi);
    }
    if ($actors[0] eq $actors[1]) {
        shift @actors;
    }
    if (@actors >= $actor_num) {
        splice(@actors,$actor_num);
    $actor = join ", ", @actors;
    } elsif (@actors > 1 && @actors < $actor_num) {
        $actor = join ", ", @actors;
    } else {
        $actor = $actors[0];
    }
    return $actor;
}

新たに利用可能になる(?)変数

テンプレートの中で、以下の変数が使用できるようになる・・・かもしれません。

  • $Director: 監督の名前
  • $Actor: 俳優の名前(最大3人まで)
  • $Author: 「監督 / 俳優」

使用例

ハウルの動く城 ハウルの動く城

ブエナ・ビスタ・ホーム・エンターテイメント

注意

  • 動作無保証。
  • にーやんが勝手に改造したものであり、作者の fukazawa さんとは無関係です。

スポンサード リンク

Recent entries from same category
TrackBack ping me at
Trackbacks

awsxomでサイドバーにRecommends

footフレーバーにも使えるように更新されていたので、読みこみ動作が最近遅くなっているメインのBlosxomに最適化させようと画策中。ここに来てやっとinterpolate_fancyの使い方を覚えつつあるような?fukaz55あと、これは必要に迫われた訳ではないのですが、せっかくなので awsxom 記法を foot にも適応させるようにモジュールを修正してあります。 試しに、サイドバーに "Recommends" とか付けてみた。Blogっぽい?Read more...Blog Bookmarks. - push_if_first でも書いたようにinterpolate_fancyをここでも利用します。ディレクトリごとに表示を変える方法ディレクトリごとに表示を変える場合は、以下のタグで囲む。RecommendsASIN:3827322936:awssimple:ASIN:0704381664:awssimple:RecommendsASIN:B000BB6GMY:awssimple:ASIN:B0007WAE48:awssimple:RecommendsASIN:4873111269:awssimple:ASIN:4873111676:awssimple:ASIN:4873111064:awssimple:ディレクトリごとに表示させない方法ついでに表示させたくない場合は、以下のタグで囲む。以下のようにすれば複数対策出来るようですね。interpolate_fancy と pagetype を使用します。指定する範囲指定する範囲pagetype の場合は、like のみで指定が可能。勿論、unlike 指定をしても良いかも。指定する範囲指定する範囲指定する範囲指定する範囲指定する範囲指定する範囲指定する範囲指定する範囲main : the root of the blogcategory : a category archive pagechrono : a chronological archive page (per year, per month, per day...)story : an individual story pagepagetype は、指定範囲を表示/非表示にできるため、html フレーバーにコメント領域を付けたい場合にいいですね。

Posted by Blog Bookmarks. at 2005/11/06 (Sun) 19:04:34
[ 1 TrackBack ]
Comments
[ No Comment ]
Post a comment

writeback message: There was a problem posting your writeback.













Remember the above info?

Preview here...

  • [Preview]ボタンをクリックすると、コメント内容をプレビューすることができます(JavaScript使用)。
  • スパム対策としてリファラチェックを行っています。セキュリティソフトの設定でリファラを無効にしていると投稿できません。
  • エントリの内容と無関係と思われるコメントやトラックバックは削除されます。
  • 当ブログへの言及リンクがないトラックバックはブロックされます。