えっと、「 XML-RPC 経由でのアクセス……」エントリの、その後についてです。
まあリンクをこっちから張っていたので当たり前ではあるんですが、「 BXR:Blosxom XML-RPC Interface 」を拡張した、Big Sky の mattn さんに捕捉されてしまいました。 拡張版 BXR は本当に便利に使っています。 有難う御座います。 ぺこぺこ。
さて、ウチで発生した問題なのですが、「カテゴリを取得した際に、実際に取得したカテゴリが 1 つ飛ばしになり、量が半分になる」という症状でした。
それで mt.getCategoryList の部分をぱっと追っかけて、 $cnm の中身がおかしくなってるのかなあ……と思ったんですね。 debug オプションをつけて見たときに getCategoryFromFilename 周りまでは問題無かったので、多分 getCategoryNameFromId あたりで失敗してるのかな? ……と考えたのです。
ただし、ウチでは categories プラグインに "0+4i+mod_perl-fix" を、そしてカテゴリ名の表示変更に prettypath プラグインを使っているので ( 「カテゴリ表示に手を入れてみる」に詳細 ) 、問題発生条件は多分環境依存なのだろうな、と結論したんですわ。
で、ちゃんと手をいれるなら、カテゴリの読み替えに prettypath を使ってるワケだし、それに対応するように書き換えるべきなのですが、「まあ自分しか使わないんだから、カテゴリ名の読み替えをしなくてもいいや」と思って以下の様にキタナク Hack してしまいました。
...
my $cid = BXR::getCategoryFromFilename($_);
# my $cnm = BXR::getCategoryNameFromId($cid);
my $cnm = $cid;
...
これで、 $cid にも $cnm にも同じ値が入るので、自分的には期待通りの動作になりました。 はい。
判りづらいかもしれませんが、以上です。 その場しのぎの修正なので、あまり参考にはならないかと思います。 それにウチは perl は初心者なので……。
これからもよろしくお願いします。 ではでは。
▼ このエントリに対するコメント・トラックバックは……