■2005-01-21
* [Perl] Class::Wiki
Class::XMLというClass::DBIライクにXMLの読み書きを行うモジュールがあるので、見習ってClass::Wikiをつくろうと思い立ちました。その手始めにDBD::Wikiをこさえることに。DBD::FileやDBD::iPod、DBD::Googleなど参考にちまちまとやってます。問題はXML-RPC for Wikiを利用しているのですが、これが実装されているWikiがほとんど存在しないのと(FreeStyleWikiは拙作のCGIが)、XML-RPCでやりとりしたくないなあ……というところ。いつものように役に立たないモジュールになるはず。
あー、この一週間search.cpan.orgは"Bad Gateway The proxy server received an invalid response from an upstream server."ってエラーが出てなかなか繋がらない。
* [Perl] DBD::Wiki
少しでけたー。
use DBI;
my $url = 'http://www.jspwiki.org/RPC2/';
my $dbh = DBI->connect(
"dbi:Wiki:drv_if=xmlrpc;url=$url"
);
my $sth = $dbh->prepare(q{
SELECT * FROM wiki
WHERE name LIKE 'S%' LIMIT 10
});
$sth->execute();
while( my $row = $sth->fetchrow_arrayref() ){
print join(', ',@$row),"\n";
# 実はnameカラムのみ
}
# テーブルは wiki, pages, links の3つ
てな感じ。
SELECT linkpage, href FROM links
JOIN wiki ON wiki.name = links.name
WHERE name = 'Menu'
ぐらいの構文ならなんとか(WHERE句のnameが曖昧だけど)。データの取得をXML-RPC for Wikiで実装しているので、実際にできることは少ないです。 続く。
本日のTrackBacks(全1件)
[]
どんぞこ日誌(2005-01-21)Class::XMLというClass::DB...

