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, });
削除しちゃいます。さようならー。