Tomblooで画像をFlickrにPrivateで保存する


私はFirefoxをWebブラウザとして常用しているのですが、右クリックで出てくるメニューから、一発でFlickrに画像を保存できないだろうか、と思いたちました。Webでステキなネタ画像を見つけたときにとっときたいじゃないですか。でも、iPhotoとかに保存するのはやりすぎな気がします。

そんなことが出来るアドオン(機能拡張)がないだろうかと探してみたところ、TomblooというFirefox拡張を見つけました。これは、写真に限らず、テキストやリンクをFlickrのみならず、TumblrやTwitter、はてブなど様々なWebサービスに送り込めるステキなソフトウェアです。

そんなわけで早速使ってみたのですが、どういうわけかFlickrに公開設定 ( Anyone can see this photo )で保存されちゃうんですよね。これは困った。他人様の撮った写真などを勝手に自分のFlickrスペースで公開してしまうのは問題です。数回はチマチマとFlickrのYour Photostreamから非公開 ( Only you can see this photo )に変更していたのですが、折角右クリック一発でFlickrに送り込めるようにしたのに、イケてないプロセスが入ってしまいます。

で、TomblooでFlickrのAPIをコールする際にPrivateフラグを立てるようにすれば解決するだろうと思い、色々としらべてみました。すると、あるじゃないですか。
kiriさんの「tomblooでphotoをflickrにpostするときにtagつけてprivateに」というblogが見つかりました。

しかし何も説明がないのです。なので、このコードを使う方法を記事にしておきます。例によって、Mac前提ですが、Windowsでもフォルダ名などを読み換えればいけるでしょう。

まず、ターミナルを立ち上げます。そして、

$ cd ~/Library/Application\ Support/Firefox/Profiles/????????.default/tombloo/script

とタイプして、今回のパッチを置くべきフォルダ ( ディレクトリ ) に移動します。
次に、

addBefore(Flickr, 'post', function(ps){
ps.private = true;
ps.description = joinText([ps.pageUrl, ps.description], '\n');
ps.tags = function(x){if(!x)x=[];x.push('tombloo');return x;}(ps.tags);
});

このコードを

$ curl http://www.ytsuboi.org/public/FlickrPatch.js > FlickrPatch.js

とタイプしてダウンロードして、保存してやります。

後はFirefoxを再起動するだけ。これだけでWebに貼ってある画像データを、Firefoxで右クリックメニューから簡単に、Flickrに非公開設定で保存できるようになります。