ブログトップ 記事一覧 ログイン 無料ブログ開設

口から出まかせ

02/25

Test::WWW::Mechanize のテストがこける

| 18:07

入れようとしたのは Test::WWW::Mechanize 1.30。Test::LongString が 0.15 だと t/content_lacks.t がこける。0.14 にするとテストが通ってインストールできる。perlバージョンは 5.12.2 と 5.12.3 で再現した。

$ cpanm http://search.cpan.org/CPAN/authors/id/R/RG/RGARCIA/Test-LongString-0.14.tar.gz
$ cpanm Test::WWW::Mechanize

syohexsyohex 2011/02/27 12:11 Test::WWW::Mechanizeで使われている Test::LongString::lacks_string関数の
エラーメッセージが変わったことが原因のようです。

行番号とカラムの表示が追加されたようですが、
それに追従出来ていないようですね。

09/13

tig.rb を修正したらリスト機能が復活したのでコミット

00:03

APIホストtwitter.com になっていたのを api.twitter.com に修正したところ、ここ数ヶ月死んでいたリストチャンネルにする機能が復活した(使えてなかったのぼくの環境だけだったかもしれないけど)。coderepos 時代にコミットしたことがあり github の contributors に入れてもらえていたのでせっかくなのでプッシュした。

08/19

OAuth::Lite::Consumer で access_token 取得時に token とか以外のパラメータを取得

| 01:47

access_token を取ってくるだけなら get_access_token を使えば良い。

my $access_token = $consumer->get_access_token(
    token    => $request_token,
    verifier => $verifier,
);

$access_token は OAuth::Lite::Token オブジェクトになっていて oauth_token, oauth_token_secret, oauth_callback_confirmed 以外のパラメータは捨てられてしまう。

TwitterOAuth とかだと access_token 取得時に screen_name とかもパラメータに含まれるのでそっちも取りたい(cf. Authenticating Requests with OAuth | dev.twitter.com)。そんな場合は obtain_access_token を使う。

my $res = $consumer->obtain_access_token(
    token  => $request_token,
    params => +{
        oauth_verifier => $verifier,
    },
);
my $access_token = $res->token; # OAuth::Lite::Token
my $screen_name  = $res->param('screen_name');

$res は OAuth::Lite::Response オブジェクトになっていて、token で OAuth::Lite::Token が、param で他のパラメータが取れる。

06/21

HTTP::Engine::Middleware::Static で DirectoryIndex

| 17:41

/ で終わるような URLアクセスした時に index.html を表示して欲しい。そんな場合は以下のようするといいみたいです。ポイントは二つで、まず directory_index に表示したいファイル名を指定し、regexp/$マッチするようにする。下の例だとグルーピングの最後を |) としているので ^/$ に(のみ)マッチして index.html が表示されるはず。

my $mw = HTTP::Engine::Middleware->new;
$mw->install(
    'HTTP::Engine::Middleware::Static' => {
        regexp          => qr{^/(robots\.txt|(?:css|js|img)/.+|.+\.html|)$},
        docroot         => '/path/to/static/',
        directory_index => 'index.html',
    }
);

06/15

16x16 の履歴を GIFアニメ にする Perl スクリプト

| 22:24

16x16 の履歴画像GIFアニメにすると面白そうだなぁと思ったので書いてみました。試しにセコンさんのエントリにあるこの画像

http://img.f.hatena.ne.jp/images/fotolife/s/secondlife/20090615/20090615191629.png

を変換すると

f:id:KGA:20090615220433g:image

こんな GIFアニメになります。やってることは簡単で、左上から順に 16x16画像を切り出して最後に GIFアニメとして書き出しているだけです。gif_delay とか gif_loopオプションは perldoc Imager::Files の GIF の項に書いてあります。

追記

いちいち画像保存して変換するのめどいよねということで、履歴画像を表示した時の data:image/png;base64, で始まるデータスキームをフォームにコピペると GIFアニメを出力する CGI も書いてみました。

この日記のはてなブックマーク数