Flickr を WebDAV としてマウントできる http://flickrdav.com/ をリリースしました

副題は「flickrにあげた写真をiPodで見たい(その3)」です。これまでの流れは↓こちらを参照のこと。

ということで、約2ヶ月ぶりにまたいじりました。今度はいろいろ知恵をつけて、そこそこ我慢できるスピードになりました。
id:lopnorflickr の中身は http://flickrdav.com/photos/lopnor/ で見ることができます。「soffritto」タグの中身は http://flickrdav.com/photos/tags/soffritto/ です。いまんとこ 個人の写真一覧と、グローバルのタグが見れるだけなので、 flickrfs には全然かないません。とりあえず今週できたところまでで出しちゃいます。 Mac だと、 Finder で Cmd+K して、さっきの URL を入力するとちゃんとマウントできます。結構不満のないスピードで、いい感じに写真をごっそりローカルにコピーできます。今のところ、どのディレクトリも最新の100枚が見れるだけになっています。まー、そんな感じ。試しに使ってみてくださいよ!ダメだし歓迎です。よろしくです!
→あれ!動いてないな。。。→PerlSetEnvじゃなくてPerlSetVarでした!

ソースコード

codereposにソースをあげてあります。ツッコミ大歓迎です!

httpd.conf

httpd.confはこんな感じ。

<VirtualHost *:80>
    ServerName flickrdav.com
    ServerAdmin nobuo.danjou@gmail.com
    ErrorLog logs/flickrdav.error_log
    CustomLog logs/flickrdav.access_log combined
    DocumentRoot /home/danjou/modperl/flickrdav/htdocs
    TraceEnable On
    PerlOptions +Parent
    PerlSwitches -I/home/danjou/modperl/flickrdav/lib
    <Location /photos/>
        SetHandler perl-script
#        PerlSetEnv flickr_key 'my_api_key'
        PerlSetVar flickr_key 'my_api_key'
#        PerlSetEnv flickr_secret 'my_secret_key'
        PerlSetVar flickr_secret 'my_secret_key'
#        PerlSetEnv image_dir '/tmp/flickrdav'
        PerlSetVar image_dir '/tmp/flickrdav'
        PerlHandler Apache2::WebDAV::Flickr
    </Location>
</VirtualHost>

今回学んだこと(よくわからなかったこと)

  • Net::DAV::Server を mod_perl で動かしてみた。ちゃんと動いて感動した。
  • Apache2::RequestRec を HTTP::Request に変換したかったけどよくわからなかったので強引にやっつけた
    • なんか普通の方法を知らないだけのような気がする。
  • Gearman::Client::Async はじめて使った。最初workerを1本しか走らせてなくて「速くなんねえじゃん」って素で思ってたw
  • Cache::Memcached はじめて使った。「servers => '127.0.0.1:11211',」って書いてて全然キャッシュされなくて謎だった
    • →「servers => [ '127.0.0.1:11211' ], 」ですね
  • Apache リスタートしてもworkerのコードが古かったりcacheに古いコードが残ってたり。
  • screen のありがたさがやっとわかった
  • Windows でマウントできない件
  • Win IE でマウントしようとすると認証を求められるけどぶっ通しなんだがなぁ。
  • 最終的にはiPodとsyncさせたいんだけど、「iPod Photo Cache」ディレクトリの中身が謎。
    • read-onlyでもこのディレクトリの中身がちゃんと正常ならsyncできるはずなので(CD-Rとはsyncできた)、なんとかしたい。
  • 使ってみたい技術はいっぱいあるけど、これを作りたい!というモチベーションがないと使い始められないもんだなぁと思った。

今後の予定

iPod Photo Cache」とか「Photo Database」とか「.ithmb」とかの勉強?