日記はScrapboxに移動しました。

WWW::HatenaDiary 0.01リリース

はてなダイアリー/はてなグループCRUDを行うモジュール、WWW::HatenaDiaryをCPANへリリースしました。

id:tokuhiromさんがCodeReposで始めたものに、僕があれこれごしゃごしゃくっつけてったってな感じのものです。今後、ちょっとあれこれしてみたいと思ったりしてます。

はてなダイアラーならご存知の通り、はてなダイアリーは元々、エントリ単位というよりもむしろ、日付け単位でエントリを書き綴っていくというスタイルです。WWW::HatenaDiaryでは、そのどちらの単位でもCRUDを行えるような感じにしてみました。

使い方は、以下のような感じで。詳細については、PODをご覧ください。また、バグや改善した方がいい点等ありましたら、是非ともCodeReposでお願いします。

オブジェクト生成 & ログイン

use WWW::HatenaDiary;
my $diary = WWW::HatenaDiary->new({
username => $username,
password => $password,
group    => $group,
mech_opt => {
timeout    => $timeout,
cookie_jar => HTTP::Cookies->new(...),
},
});
if (!$diary->is_loggedin) {
$diary->login({
username => $username,
password => $password,
});
}

validなcookieがあれば、newメソッドのmech_optにわたすだけで、newメソッドのその他のオプション、および、loginは省略可能です。

Create

my $edit_uri = $diary->create({
title => $title,
body  => $body,
});
$diary->create_day({
date  => $date,
title => $title,
body  => $body,
});

エントリ単位でのCRUDについては、createメソッドで返される$edit_uriによって、エントリの取得・編集・削除を行います。

Retrieve

my $post = $diary->retrieve({
uri  => $edit_uri,
})
my $day  = $diary->retrieve_day({
date => $date,
});

いずれのメソッドについても、ポストの内容がハッシュリファレンスで返されます。

Update

$edit_uri = $diary->update({
uri   => $edit_uri,
title => $new_title,
body  => $new_body,
});
$diary->update_day({
date  => $date,
title => $new_title,
body  => $new_body,
});

エントリ、または、指定された日付の日記を更新。

Delete

$diary->delete({
uri => $edit_uri,
});
$diary->delete_day({,
date => $date,
});

削除しちゃいます。さようならー。

どうぞご利用ください。

Leave a Reply

Your email address will not be published. Required fields are marked *