ようやく動いた。
Movable Typeのプラグイン「TypeCast 0.01」だが、
Linuxシステム上での動作をようやく確認できた。
少し前にWindowsでの動作テストができたことを書いたけれど、
あのあとイロイロとやってやっとできたカンジだ。。。
ダメだった理由はいくつかあるらしい。思考錯誤試行錯誤した結果、原因は2つ。
- Movable Type上でTypeCast用アカウントを作らないといけない。
(アカウントを作らずに実行すると has loggedin...とか出る) - 所定のインストール方法では必要な外部モジュールが一部漏れる。
(ブラウザを利用した確認では Can't Locate...が見れない)
よくよく設定をつきつめてみたら、
TypeCast::ContentFilterがVodafone.pmを読むときのメッセージは、
単なるワーニングであってfatal errorではないことが分かった。
「気になるなら削れば~?w」ってな雰囲気のシロモノ。
オープンソースプロジェクトでのワーニングは
「普通出るでしょ?」的な雰囲気だからアレだ。。。
オイラ個人的には、
ワーニングなんて未熟の証拠だと思ってる。
未熟なコーディングがワーニングを吐き出させる。
平気でワーニングを出すようなコーディングを見ると、
そこがエラーの温床になるような気がしてヤな気分になる。
世の中にはワーニングが気にならない人もいるようだけど。
ひょっとするとPERL系プログラマは
ワーニングをまったく気にしないのかも知れない。
あの人たちは「(ワーニングが出ても)動けばいいじゃん」な思考だ。
PERLのようなインタープリタ言語は、
致命的エラーを発生させるコードを走らせても、
インタープリタプログラムが落ちるだけだ。
Cやアセンブラのようにシステムデータを破壊することはめったにない。
極端なハナシ、エラーが出てもいいじゃん?なわけだ。。。
(「そんなことはない!」という人の存在について、オイラ自信ない・・・)
参考までに、ローカルで無理やりデバッグしたときのコードを張っとく。
#!/usr/bin/perl -w
use strict;
use XML::Atom::Client;
#エンドポイントURI
my $EndPointURI = "http://localhost/x/atom.cgi/weblog/blog_id=1/limit=20/offset=0";
my $api = XML::Atom::Client->new;
$api->username('tc');
$api->password('password');
my $feed = $api->getFeed($EndPointURI);
if ($feed) {
print $feed->as_xml;
} else {
print $api->errstr;
}
↑を typecast/test.pl という名前で保存してデバッガを起動する。
minato@ubuntu ~/typecast/ > perl -Iextlib -d test.pl
こんなカンジ。。。

コメントする